【发布时间】:2016-10-06 02:17:16
【问题描述】:
我对如何解开可选值感到困惑。我正在检查我的变量是否有任何 nil 值,但仍然出现错误。我正在尝试在 NSCollectionViewItem 内执行此逻辑。里面不可以吗?无论我做什么,我都会不断收到此错误:
致命错误:在展开可选值时意外发现 nil
import Cocoa
class ImageCollectionView_Item: NSCollectionViewItem {
@IBOutlet weak var label: NSTextField!
var test: String?
override func viewDidLoad() {
super.viewDidLoad()
if test != nil {
print("success")
label.stringValue = "success"
} else {
print("fail")
label.stringValue = "fail"
}
}
}
【问题讨论】:
-
label.stringValue上的错误在哪里?检查labelIBOutlet 是否正确连接。 -
标签连接正确。我将标签拖到我的 NSCollectionViewItem 上,无论我做什么,我仍然得到同样的错误。
-
看来您的错误来自强制展开
label而不是test。尽管您断言插座已连接,但应用程序似乎并不同意。你能提供更多细节吗?这将有助于准确确认该错误是在哪一行引发的。此外,如果您将label切换为可选项,我相信您会发现它目前为零,但我们这里没有足够的信息来了解原因。
标签: swift nscollectionviewitem