我的应用程序使用NSUserDefaults,在选择了iOS10选项的情况下,它可以在Xcode8上的模拟器中正常运行。
我有一个用于测试的旧iPhone 5,我已经把它升级到了iOS10 GM,我的NSUserDefaults不能工作。
应用程序不会崩溃,但当我设置NSUserDefault时,它不会保存任何信息。
你知道为什么会发生这种事吗?
发布于 2016-09-12 13:20:54
对不起,我找到了问题所在,是我的UISwitch出了问题
所有NSUserDefault代码都工作得很好。
开关是设置UserDefault的开关,我发现如果你滑动开关,它不会注册,但如果你轻敲开关,它会注册。
我发现这个错误是从iOS 7开始的,所以当我为iOS 10更新我的应用程序,并将开发目标升级到iOS 8时,这个错误就开始了。
因此,在模拟器中,开关对轻击做出反应,但在设备上,如果我将手指滑过开关,即使开关改变了状态,它也不会注册。
无论如何,谢谢你的建议。
发布于 2016-09-12 12:38:51
在Xcode8/ iOS10中,NSUserDefaults现在是UserDefaults,而standardUserDefaults()现在是标准的()-尝试将您的代码更新为这个新的命名方案,看看是否可以修复它。
下面是关于删除NS前缀的苹果文档:https://github.com/apple/swift-evolution/blob/master/proposals/0086-drop-foundation-ns.md
https://stackoverflow.com/questions/39442694
复制相似问题