NSUserDefaults:应用程序.每当应用程序启动时,Plist就会重置



我使用NSUserDefaults来存储我的应用程序设置/配置。

负责保存默认值的代码如下:

NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];
// saving settings
[standardUserDefaults setObject:address.text forKey:@"URL"];
[standardUserDefaults setObject:username.text forKey:@"username"];
[standardUserDefaults setObject:password.text forKey:@"password"];
// synchronize the settings
[standardUserDefaults synchronize];

确实,设置似乎被保存了。我从library/Preferences打开plist文件,看到值被保存了。我看到那些在我的方法完成工作后,[甚至在]关闭应用程序后。

我的问题:每当我再次启动我的应用程序时,保存的值从plist文件中消失了[键仍然存在],我显然无法加载我的首选项。

请建议。

可以用来保存设置:

    NSMutableDictionary *dictSetting = [[NSMutableDictionary alloc] init];
    [dictSetting setValue:address.text forKey:@"URL"];
    [dictSetting setValue:username.text forKey:@"username"];
    [dictSetting setValue:password.text forKey:@"password"];     
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:dictSetting forKey:@"SETTINGS"];
    [defaults synchronize];

检索设置:

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSDictionary *dictSettingData = [defaults objectForKey:@"SETTINGS"];
    NSString *url = [dictSettingData valueForKey:@"URL"];
    NSString *username = [dictSettingData valueForKey:@"username"];
    NSString *password = [dictSettingData valueForKey:@"password"];

相关内容

最新更新