Ste*_*eve 5 iphone objective-c nsuserdefaults ios inappsettingskit
我正在使用这些InAppSettingsKit模块来管理我的设置.
我可以将它包含在我的项目中,以便我可以构建一个与我的项目正确交互的设置页面.我有一个root.plist,我可以更改,当我第一次在模拟器上运行我的应用程序时,我可以看到反映的更改.
但是,对于我的生活,我无法NSUserDefaults通过我的代码访问设置.当我运行下面的代码时,我可以遍历内容[NSUserDefaults standardUserDefaults].但是,我只看到一堆与plist文件中的内容无关的通用设置
NSUserDefaults* d = [NSUserDefaults standardUserDefaults];
NSDictionary* dict = [d dictionaryRepresentation];
NSString* descKey;
NSString* descObject;
NSString* classTypeForKey;
NSString* classTypeForObject;
id myObject;
for (id key in dict) {
myObject = [dict objectForKey:key];
classTypeForObject = [[myObject class] description];
classTypeForKey = [[key class] description];
descKey = [key description];
descObject = [myObject description];
}
Run Code Online (Sandbox Code Playgroud)
那么InAppSettingsKit在哪里设置?医生说,[NSUserDefaults standardUserDefaults]所以我不知所措.
我认为你的问题依赖于对这个概念的误解.Root.plist不存储任何设置,只是定义了Settings.app和InAppSettingsKit如何在userDefaults上工作.
当您的应用第一次启动时,没有userDefaults.通常,您可以通过userDefaults.plist从资源中读取静态来设置适当的默认设置:
// Load the default values for the user defaults
NSString* pathToUserDefaultsValues = [[NSBundle mainBundle]
pathForResource:@"userDefaults"
ofType:@"plist"];
NSDictionary* userDefaultsValues = [NSDictionary dictionaryWithContentsOfFile:pathToUserDefaultsValues];
// Set them in the standard user defaults
[[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsValues];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2642 次 |
| 最近记录: |