原問題描述:
我用NSUserDefault檢測應用首次被打開: [plain] BOOL didRunBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"didRunBefore"]; if (!didRunBefore) { //Your Launch Code [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"didRunBefore"]; [[NSUserDefaults standardUserDefaults] synchronize]; } 問題是,我需要給每個view添加一個Alert,用來說明其中包括的屬性,只要在應用首次點開的時候出現就行。 解決方法: 作為一個面向對象程序員可以用一個比較普遍的方法: [plain] + (BOOL)checkWhetherRunBefore:(NSString *)key { return [[NSUserDefaults standardUserDefaults] boolForKey:key]; } + (void)hasRunForMyClass:(NSString *)key { [[NSUserDefaults standardUserDefaults] setBool:YES forKey:key]; [[NSUserDefaults standardUserDefaults] synchronize]; } 然後在ViewController中, 添加下面的代碼在viewWillAppear或者viewDidAppear中: [plain] www.2cto.com - (void)viewWillAppear { if(![HelpController checkWhetherRunBefore:NSStringFromClass([self class])]) { //do your thing [HelpController hasRunForMyClass:NSStringFromClass([self class])] } }