The*_*imp 4 iphone nsuserdefaults ios ios5
我有一个应用程序使用几个不同的用户默认值,需要在应用程序加载后立即使用.其中一个负责将地图视图放大到用户位置.
我遇到的问题是,当我加载用户默认值时,似乎认为它们是空的,直到我通过设置应用程序更改它们.
这里发生了什么?我正在使用iOS 5,不确定它是否对它有任何影响.这真的很烦人,因为我的应用程序依赖于加载时可用的数据.
注意:在我更改/重新选择设置视图中的值后,它可以正常工作.
synchronize设置值后确保您的呼叫:
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"someKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
Run Code Online (Sandbox Code Playgroud)
编辑回答评论:
从以下文档-registerDefaults::
注册域的内容不会写入磁盘; 每次应用程序启动时都需要调用此方法.您可以将plist文件放在应用程序的Resources目录中,并使用从该文件读入的内容调用registerDefaults:.
所以,-applicationDidFinishLaunching:你可以在这里注册你的Root.plist默认值:
[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Root" ofType:@"plist"]]];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
539 次 |
| 最近记录: |