在展开可选值 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 2 致命错误:在展开可选值时意外发现 nil - 类别名称
Swift 和 UILabel - 致命错误:在展开可选值时意外发现 nil