【问题标题】:Swift 2 terminating with uncaught exception of type NSExceptionSwift 2 以 NSException 类型的未捕获异常终止
【发布时间】:2015-11-02 15:18:18
【问题描述】:

自从使用更新的 swift 2 以来,我收到了一个我无法理解的 NSException 错误。我知道该异常很常见,并且它本身并没有真正的帮助。我已经包含了我正在使用的代码。该代码来自计算器应用程序的开头。虽然这段代码在 swift 中运行得非常好,但它现在在更新的 swift 2 中提供了异常。

class ViewController: UIViewController {
@IBOutlet weak var mainDisplay: UILabel!

@IBAction func appendDigit(sender: UIButton) {
    let digit = sender.currentTitle
    print("digit = \(digit)")
}}

据我所知,该错误与print("digit = \(digit)") 行有关。在 swift 2 println 被删除并合并到 print 但我不确定为什么调用 digit 会导致异常?我对 swift 完全陌生,因此如果能帮助我理解这个问题,我将不胜感激。

谢谢

【问题讨论】:

  • 您能否将您收到的 NSException 错误的打印结果发送给我们?
  • 2015-11-02 15:04:20.868 Calculator[7542:2075339] *** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ setValue:forUndefinedKey :]: 这个类对于主显示键不符合键值编码。'

标签: xcode swift swift2 nsexception


【解决方案1】:

您的问题与appendDigit: 方法无关。您应该检查您的 Storyboard 或 XIB,因为您的 IBOutlet 存在连接问题,这可能是在您将变量从 maindisplay 重命名为 mainDisplay 之后出现的。

补充:

解决方案是在链接的UILabel 处查看 Storyboard 或 XIB 内部,移除出口连接,然后使用新重命名的 mainDisplay IBOutlet var 重新设置。

【讨论】:

  • 完美我可以确切地看到我现在所做的,我确实创建了一个新的插座连接,但未能删除导致问题的旧连接。删除那个旧的,所以只有新的仍然修复它。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 2018-12-11
  • 1970-01-01
相关资源
最近更新 更多