【问题标题】:Multi Value Settings not Initializing with Default未使用默认值初始化的多值设置
【发布时间】:2015-03-03 13:25:09
【问题描述】:

我有一个应用,它使用设置包中的多值菜单来配置屏幕地图的刷新率。面板是这样设置的:

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

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

【问题讨论】:

  • 你能显示出现致命错误的代码吗?
  • 用截图编辑了原帖。
  • 您需要转到出现错误的源代码行。上堆栈并显示发生错误的代码行(您的源代码)。
  • 现在,如果我按下“退出”按钮,它只会刷新我上次打开的文件(所以最初是我的设置包,但最后一次刷新了应用程序委托),然后返回相同无论我按多少次都会行。
  • 不要走出去——只需双击框架。从您的屏幕截图中,双击“线程 1”下的“1 FlightTracker...”框架。顺便说一句,调试器的基本操作技能将在您的旅程中为您提供帮助。我推荐看看这篇文章 - raywenderlich.com/10209/my-app-crashed-now-what-part-1

标签: ios xcode swift settings multivalue


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-29
    相关资源
    最近更新 更多