ios – registerDefaults未反映在设置应用中

ios – registerDefaults未反映在设置应用中,第1张

概述关于注册用户默认值的使用有很多答案,我看起来很难,但仍然被我看到的行为所困扰. 在我的设置包中,我有一个切换开关,我给它标识符’共享’给它一个默认值YES.我在设置应用中看到此切换开关,但它不默认为开.即使我从手机中删除应用程序并再次安装. 在我的didfinishlaunchingwithoptions方法中,我有以下内容: NSUserDefaults *defaults = [NSUserD 关于注册用户默认值的使用有很多答案,我看起来很难,但仍然被我看到的行为所困扰.

在我的设置包中,我有一个切换开关,我给它标识符’共享’给它一个默认值YES.我在设置应用中看到此切换开关,但它不默认为开.即使我从手机中删除应用程序并再次安装.

在我的dIDfinishlaunchingwithoptions方法中,我有以下内容:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"YES" forKey:@"sharing"];[defaults registerDefaults:appDefaults];[defaults synchronize];

如果我测试看:

NSLog(@"%d",[defaults boolForKey:@"sharing"]);

默认设置已设置,但未在设置应用中反映出来.

如果我然后转到设置应用程序并将开关打开并测试值:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];BOol enabled = [defaults boolForKey:@"sharing"];

这仍然会导致YES,我期望.

然后,我把它翻到关闭并再次测试:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];BOol enabled = [defaults boolForKey:@"sharing"];

它将是预期的NO,现在连接正常.

所以,基本上一切都工作正常,除了在设置更改之前,默认以编程方式存在,但它在设置应用程序中没有以可视方式显示.

希望有人可以指出我所缺少的东西!

谢谢

解决方法 问题是我的’Value for ON’和’Value for Off’设置为在我的settings.bundle(Root.pList)中键入String而不是boolean.

我最初没有发现错误,因为应用程序按预期响应并可以与设置应用程序进行交互.唯一的问题是设置应用的初始“可视”值未正确设置.当我更多地思考它时,这种行为是有道理的.

本教程帮助我找到了我的错误:

http://useyourloaf.com/blog/2010/5/18/adding-a-settings-bundle-to-an-iphone-app.html

总结

以上是内存溢出为你收集整理的ios – registerDefaults未反映在设置应用中全部内容,希望文章能够帮你解决ios – registerDefaults未反映在设置应用中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存