多值设置未使用默认值初始化

时间:2015-01-05 22:41:30

标签: ios xcode swift settings multivalue

我有一个应用程序,它使用设置包中的多值菜单来配置刷新屏幕上地图的速率。面板设置如下:

enter image description here

当我在手机上运行应用程序时,我立即转到设置应用程序,菜单显示为" 1秒"正如我所料。当我返回我的应用程序并尝试启动地图更新时,应用程序崩溃了"致命错误:在解开可选值时意外发现nil"并突出显示EXC_BREAKPOINT,当我退回代码时,我将进入我的多值菜单的设置。此外,如果我首先进入设置应用程序并手动重新选择相同的值,应用程序将完美运行。突出显示的代码如下所示:

enter image description here

我是否错误地设置了默认值?

1 个答案:

答案 0 :(得分:1)

基于打开可选项时出错的事实,我打赌NSUserDefaults.standardUserDefaults.stringForKey("mapUpdate")为零。你应该仔细检查一下。

如果是这种情况,您需要注册plist文件以用于NSUserDefaults。有关如何执行此操作的说明,请参阅How to set initial values for NSUserDefault Keys?