Hi I am trying to use NSUserDefaults to save some default values in database. I am able to save the values in the NSUserDefaults (even checked it in NSLog).
Now I need the values in app delegate when the application is restarted. But I am not getting anything in the NSUserDefaults. Following is my code from my class where I save the values in NSUserDefaults:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:appDel.dictProfile forKey:@"dict"];
NSLog(@"%@",[prefs valueForKey:@"dict"]);
Following is my code from App Delegagte:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSLog(@"%@",[prefs valueForKey:@"dict"]);
the above code always returns me null.
Can some one please help me?
If you terminate your app by pressing the home button (in the Simulator or on the device), your
NSUserDefaultswill get saved.If you terminate your app by pressing “Stop” in Xcode (in the Simulator or on the device), your
NSUserDefaultsmight get saved, but there’s a good chance they won’t.NSUserDefaultspersists any changes periodically, and if you terminate the process before they’ve been persisted, they’ll be gone. You can force the save by calling:Addendum:
In iOS4 (this answer was originally written when iOS3 was the public release), your
NSUserDefaultsmay not get saved when pressing the home button. Manually calling[[NSUserDefaults standardUserDefaults] synchronize]inapplicationDidEnterBackground:should ensure that yourNSUserDefaultsare saved correctly (this should really be a built-in behaviour IMO).