Detect if user opened the View for the first Time In iOS
ios, iphone, nsuserdefaults, view
Solution
As an OOP programmer you can make a common public method.
+ (BOOL)checkWhetherRunBefore:(NSString *)key
{
return [[NSUserDefaults standardUserDefaults] boolForKey:key];
}
+ (void)hasRunForMyClass:(NSString *)key
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:key];
[[NSUserDefaults standardUserDefaults] synchronize];
}
And in your ViewController , you can code in the viewWillAppear or viewDidAppear like this :
- (void)viewWillAppear
{
if(![HelpController checkWhetherRunBefore:NSStringFromClass([self class])])
{
//do your thing
[HelpController hasRunForMyClass:NSStringFromClass([self class])]
}
}
Problem
I know how I can detect if the application first time opened using NSUserDefault: ``` BOOL didRunBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"didRunBefore"]; if (!didRunBefore) { //Your Launch Code [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"didRunBefore"]; [[NSUserDefaults standardUserDefaults] synchronize]; } ``` The Issue: I want an Alert for ever view explaining about what features it contains and only open this alert when the app is first launched?