今天早上运行我的代码时遇到一个奇怪的错误。
致命错误:在展开可选值时意外发现 nil
这是我的简单对象:
class FQ {
var rating: Float?
var phone: String?
init(rating: Float?, phone: String?)
{
self.rating = rating
self.phone = phone
}
}
但我在 if 语句 ( FQ.match() -> FQ?
) 中测试 nil 值:
let fq: FQ? = FQ.match(self.place!.name, location: self.place!.location)
if fq != nil && fq!.phone != nil {
self.phone.text = fq!.phone
} else {
self.phone.text = ""
}
但是调试它:
fq 的打印描述:(project.FQ?) fq = Some {
rating = 6.0999999
phone = "+33 1 53 10 87 19"
}
该值不为零。使用电话号码设置标签值时调试器失败。
我以为我理解 Optional 但看起来我没有。我错过了什么?