NSUserDefaults - How to tell if a key exists
As mentioned above it wont work for primitive types where 0/NO could be a valid value. I am using this code.
NSUserDefaults *defaults= [NSUserDefaults standardUserDefaults];if([[[defaults dictionaryRepresentation] allKeys] containsObject:@"mykey"]){ NSLog(@"mykey found");}
The objectForKey:
method will return nil
if the value does not exist. Here's a simple IF / THEN test that will tell you if the value is nil:
if([[NSUserDefaults standardUserDefaults] objectForKey:@"YOUR_KEY"] != nil) { ...}