【发布时间】:2015-07-15 13:36:57
【问题描述】:
我正在使用我的应用中的联系人,用户可以选择联系人姓名... 但是如果名字或姓氏为空,我会收到这个常见错误:
致命错误:在展开可选值时意外发现 nil
我知道我的问题可能重复,但我已经阅读了一些文章,但我不知道如何解决我的问题。
这是我的代码:
let firstName: ABMultiValueRef? =
ABRecordCopyValue(person,
kABPersonFirstNameProperty).takeRetainedValue() as ABMultiValueRef
let lastName: ABMultiValueRef? =
ABRecordCopyValue(person,
kABPersonLastNameProperty).takeRetainedValue() as ABMultiValueRef
titleField.text = ("\(firstName) \(lastName)")
我还是想填写文本字段。
编辑:
我从相关问题中找到了这个解决方案:
var name:String = ""
if let first = ABRecordCopyValue(person, kABPersonFirstNameProperty)?.takeRetainedValue() as? String {
name += first
}
if let last = ABRecordCopyValue(person, kABPersonLastNameProperty)?.takeRetainedValue() as? String {
name += last
}
titleField.text = name
}
【问题讨论】: