Original Problem description: I used NSUserDefault to detect the application being opened for the first time: [plain] BOOL didRunBefore = [[NSUserDefaults standardUserDefaults] boolForKey: @ "didRunBefore"]; if (! DidRunBefore) {// Your Launch Code [[NSUserDefaults standardUserDefaults] setBool: YES forKey: @ "didRunBefore"]; [[NSUserDefaults standardUserDefaults] synchronize];} the problem is, I need to add an Alert for each view to describe the attributes included in it, as long as it appears when the application is clicked for the first time. Solution: As an object-oriented programmer, a common method can be used: [plain] + (BOOL) checkWhetherRunBefore :( NSString *) key {return [[NSUserDefaults standardUserDefaults] boolForKey: key] ;}+ (void) hasRunForMyClass :( NSString *) key {[[NSUserDefaults standardUserDefaults] setBool: YES forKey: key]; [[NSUserDefaults standardUserDefaults] synchronize];} in ViewController, add the following code in viewWillAppear or viewDidAppear: [plain] www.2cto.com-(voi D) viewWillAppear {if (! [HelpController checkWhetherRunBefore: NSStringFromClass ([self class]) {// do your thing [HelpController hasRunForMyClass: NSStringFromClass ([self class])]}