sud*_*-rf 4 iphone cocoa-touch objective-c nsuserdefaults
在NSUserDefaults这里遇到一些麻烦.
这就是我创建它的方式:
NSString *theCity = @"Test City";
[[NSUserDefaults standardUserDefaults] setObject:theCity forKey:@"SavedCity"];
Run Code Online (Sandbox Code Playgroud)
这是我试图检索它的方式:
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"SavedCity"])
{
NSLog(@"Key exists! %@",[[NSUserDefaults standardUserDefaults] objectForKey:@"SavedCity"]);
}
else {
NSLog(@"No city saved!");
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,即使有一个"SavedCity"键(我检查模拟器目录中的pref文件),它总是显示"No city saved".难道我做错了什么?
谢谢!
Ale*_*ers 10
你可以尝试两件事.
1)在设置字符串后尝试同步用户默认值. [[NSUserDefaults standardUserDefaults] synchronize]
2)尝试使用检索字符串 -stringForKey:
我最近遇到了类似的问题.这是为我修复它的原因.
除了将它们包含在设置包属性列表中之外,建议您在启动时以编程方式注册任何默认首选项值.对于新安装的应用程序,在设置应用程序运行之前,不会设置应用程序设置包中的默认首选项值.这意味着如果用户在运行"设置"之前运行您的应用程序,则设置包中指定的默认值将不可用.在启动时以编程方式设置此类值可确保应用程序始终具有适当的值.要以编程方式注册默认值,请使用类的
registerDefaults:方法NSUserDefaults.
| 归档时间: |
|
| 查看次数: |
6486 次 |
| 最近记录: |