因此,我剛更新到Xcode 8並將Swift 2.3代碼轉換爲Swift 3,並且在Swift 2.3中沒有這行代碼中的錯誤:ABAddressBook從Swift 3中的不透明(_ :)
func populateFrom(_ addressBook:ABAddressBook)
{
let allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook).takeRetainedValue()
let nPeople = ABAddressBookGetPersonCount(addressBook)
for index in 0..<nPeople
{
let person:ABRecord = Unmanaged<ABRecord>.fromOpaque(OpaquePointer(CFArrayGetValueAtIndex(allPeople, index))).takeUnretainedValue()
}
}
現在的問題是一致let person:ABRecord = Unmanaged<ABRecord>.fromOpaque(OpaquePointer(CFArrayGetValueAtIndex(allPeople, index))).takeUnretainedValue()
的Xcode告訴我,'fromOpaque' is unavailable: use 'fromOpaque(_:UnsafeRawPointer)' instead
。但是我找不到Xcode告訴我使用的功能,我只能找到fromOpaque(value: UnsafeRawPointer)
這是我目前使用的功能。
我該如何做這項工作?
無關,但如果在Swift 3中編程,您可能只想使用Contacts框架,這比舊的ABAddressBook更容易... – Rob