Having some trouble with NSUserDefaults
here.
Here's how I'm creating it:
NSString *theCity = @"Test City";
[[NSUserDefaults standardUserDefaults] setObject:theCity forKey:@"SavedCity"];
Here's how I'm trying to retrieve it:
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"SavedCity"])
{
NSLog(@"Key exists! %@",[[NSUserDefaults standardUserDefaults] objectForKey:@"SavedCity"]);
}
else {
NSLog(@"No city saved!");
}
The problem I have is that even if there IS a key for "SavedCity" (I check the pref file in the Simulator directory), it always displays "No city saved". Am I doing something wrong?
Thanks!
What you should add is:
Because you want to check if you've saved something.
I ran into a similar problem myself recently. Here's what fixed it for me.
From the iOS Application Programming Guide:
Two things you could try.
1) Try synchronizing the user defaults after settings the string.
[[NSUserDefaults standardUserDefaults] synchronize]
2) Try retrieving the string using
-stringForKey: