gpt4 book ai didi

ios - 斯坦福计算器应用程序崩溃并出现错误 "unexpectedly found nil"

转载 作者:行者123 更新时间:2023-11-28 13:00:32 25 4
gpt4 key购买 nike

我是编程新手,我已经开始在 iTunes U 上学习斯坦福大学的类(class),学习如何制作 iPhone 8 应用程序。他们使用 Xcode 6 和 Swift 1,而我在 El Capitan 使用 Xcode 7 和 Swift 2。我发现 Xcode 能够识别并帮助我纠正代码中的一些差异(“println”是例如现在“打印”),但我被代码的一个特定部分绊倒了:

   var displayValue: Double {
get {
return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
}
set {
display.text = "\(newValue)"
userIsInTheMiddleOfTypingANumber = false
}
}

我仔细检查了好几次,以确保这正是老师写的。他的构建正确且运行正常,而我的构建正确,但在我尝试操作它时显示此 fatal error ,“在展开可选值时意外发现 nil”(有关所有详细信息,请参见屏幕截图)。

Screenshot of the error

我一直在互联网上四处寻找并找到了一些类似的例子,包括本网站 ( Stanford Calculator app keeps crashing ) 上的一个例子,但在尝试了所有建议之后,我得出结论,某些东西在我的系统中一定是独一无二的,或者我在新的 Xcode/Swift 环境中运行,而不是其他有这个问题的人。没有一个解决方案解决了问题,并且所有解决方案都添加了自己的错误。

在回答其他人的问题时,有人建议我们使用此代码来确保如果“display”返回“nil”,它将提供“0”:

return (NSNumberFormatter().numberFromString(display.text) as? Double) ?? 0

我试过了,但它只给了我更多的错误,有些似乎与 Swift 2 有关(它需要在 double 后加一个逗号,要我打开 display.text,并提示缺少预期的表达式——也许建议的代码在 Swift 1 中很好??)。

最佳答案

I've double checked several times to make sure this is exactly how the teacher wrote it. His built correctly and functioned correctly, while mine builds correctly, but shows this fatal error when I try to operate it, "unexpectedly found nil while unwrapping an Optional value"

我怀疑 display 是一个 IBOutlet 属性,需要连接到用户界面中的某些东西,可能是一个文本字段。如果它没有连接,那么即使你的代码完全一样,当你尝试使用它的 text 属性时,你也会得到 nil ,并且解包会导致错误你看到了。

无论上述建议是否真正解决了您的问题,您真正需要做的是在崩溃发生的位置之前一两行设置一个断点,然后单步执行代码。查看涉及的变量并找出 nil 值的来源。您可以从那里向后工作并弄清楚为什么您期望不是 nil 的东西实际上是 nil。学习以这种方式工作将帮助您在这些问题出现时解决它们(它们再次出现)。

关于ios - 斯坦福计算器应用程序崩溃并出现错误 "unexpectedly found nil",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34009395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com