if let phone:ABMultiValueRef = ABRecordCopyValue(con,kABPersonPhoneProperty).takeRetainedValue()
{
for (var k = 0 ; k < ABMultiValueGetCount(phone) ; ++k){
//获取电话Label
var personPhoneLabel:String = ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(phone, k).takeRetainedValue()).takeRetainedValue()as String
//获取該Label下的电话值
var personPhone:String = ABMultiValueCopyValueAtIndex(phone, k).takeRetainedValue() as! String
phoneNum = personPhone
print(personPhoneLabel+":"+personPhone)
}
}
else{
phoneNum = ""
}
エラー行が最初の行であるに電話番号を取得しようとすると、「致命的なエラーオプションの値をアンラップしながら、予想外にnilを見つけ」 "let"がうまくいかない場合は?あなたはtakeRetainedValueを呼び出す前に、戻り値:私は接触
編集上の()それを確認する必要があるので、
「con」とは何か、「kABPersonPhoneProperty」とは何ですか? – luk2302
conは、ABAddressBookRef変数です。 kABPersonPhonePropertyは連絡先のプロパティです。 – user6313944