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

Multi Value Settings not Initializing with Default

我有一个应用程序使用设置包中的多值菜单来配置 on-screen 地图的刷新率。面板设置如下:

当我 运行 我的 phone 上的应用程序时,我立即转到设置应用程序,菜单如我所料显示为“1 秒”。当我 return 到我的应用程序并尝试启动地图更新时,应用程序崩溃并显示 "fatal error: unexpectedly found nil while unwrapping an Optional value" 并突出显示 EXC_BREAKPOINT,当我退回代码时,我被带到我的设置多值菜单。此外,如果我先转到设置应用程序并手动 re-selct 相同的值,应用程序 运行s 完美。突出显示的代码如下所示:

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

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

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