在展开可选值 uint32 swift 时意外发现 nil

Posted

技术标签:

【中文标题】在展开可选值 uint32 swift 时意外发现 nil【英文标题】:unexpectedly found nil while unwrapping an Optional value uint32 swift 【发布时间】:2015-06-14 19:00:07 【问题描述】:

当我尝试将结果标签设置为此包含 UInt32 的字符串时,我的应用程序崩溃并收到错误消息“在展开可选值时意外发现 nil”。

我认为这意味着我只需要添加一个 !到变量,但是当我尝试得到问题“操作数应该具有可选类型,具有 UInt32 类型。

var fingers = arc4random_uniform(6)

result.text = "Incorrect, I am holding up \(fingers) fingers"

【问题讨论】:

尝试检查结果是什么;)我猜它是 nil... 是的,但是我在那个语句中分配了它,所以在它出错之前不应该让它不为零吗? 我说的是result,而不是text。如果result 为nil,你首先需要给它赋值,也许显示更多代码,结果声明和定义在哪里? 正如@luk2302所说,result(UILabel?)肯定有问题。 arc4random_uniform 不返回 Optional,所以可以确定有一些值 【参考方案1】:

这肯定会奏效:

var result: UILabel = UILabel()
var fingers: UInt32 = arc4random_uniform(6)

result.text = "Incorrect, I am holding up \(fingers) fingers"

println("\(result.text)")

【讨论】:

以上是关于在展开可选值 uint32 swift 时意外发现 nil的主要内容,如果未能解决你的问题,请参考以下文章

Swift 错误致命错误:在展开可选值时意外发现 nil

Swift:致命错误:在展开可选值时意外发现 nil

swift 2 致命错误:在展开可选值时意外发现 nil - 类别名称

Swift 和 UILabel - 致命错误:在展开可选值时意外发现 nil

Swift,在展开可选值时意外发现 nil (NSKeyedUnarchiver)

Swift - 在展开可选值时意外发现 nil - 从委托调用变量