2014-07-17 78 views
1

我試圖用swift從地址簿中獲取人民的生日。'AnyObject'不可轉換爲ABRecordRef

let ab = ABAddressBook.sharedAddressBook() 
    var birthday: CFDateRef?  
    for person in ab.people() { 
     birthday = ABRecordCopyValue(person, kABBirthdayProperty) 
    ... 

但我得到以下錯誤在Xcode:

AnyObject」是無法轉換爲ABRecordRef

ABRecordCopyValue期待一個ABRecordRef對象作爲第一個參數,但人是AnyObject型。 它也不適用於person as ABRecordRef

回答

1

ABRecordRef與Swift中的ABRecord相同。您應該可以使用ABRecord類別中較簡單的API:

for person in ab.people() as [ABPerson] { 
    person.valueForProperty(kABBirthdayProperty)... 
} 
+0

感謝您的建議。這意味着在Swift中我們不使用'Copy'函數和'Ref'屬性? – mt85

+0

你當然可以 - 尤其是那些沒有普通類的API。但在這裏不容易。 – jtbandes

相關問題