检测用户是否在iOS中第一次打开了View

iPr*_*med 2 iphone view nsuserdefaults ios

我知道如何使用NSUserDefault检测应用程序是否第一次打开:

BOOL didRunBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"didRunBefore"];

     if (!didRunBefore) {
      //Your Launch Code
      [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"didRunBefore"];
      [[NSUserDefaults standardUserDefaults] synchronize];

       }
Run Code Online (Sandbox Code Playgroud)

问题:我想要一个警告永远查看解释它包含哪些功能,并且只在首次启动应用程序时打开此警报?

Guo*_*uan 10

作为OOP程序员,您可以制作一个通用的公共方法.

+ (BOOL)checkWhetherRunBefore:(NSString *)key
{
    return [[NSUserDefaults standardUserDefaults] boolForKey:key];
} 

+ (void)hasRunForMyClass:(NSString *)key
{
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:key];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
Run Code Online (Sandbox Code Playgroud)

在ViewController中,您可以在viewWillAppear或viewDidAppear中进行编码,如下所示:

- (void)viewWillAppear
{
    if(![HelpController checkWhetherRunBefore:NSStringFromClass([self class])])
    {
        //do your thing
        [HelpController hasRunForMyClass:NSStringFromClass([self class])]
    }

}
Run Code Online (Sandbox Code Playgroud)