这是我遇到的问题。非常感谢任何帮助。
代码如下:
var addressBook: ABAddressBookRef = {
var error: Unmanaged<CFError>?
return ABAddressBookCreateWithOptions(nil,
&error).takeRetainedValue() as ABAddressBookRef
}()
var source = ABAddressBookCopyDefaultSource(addressBook)!
var allPeople = ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source: source, sortOrdering: kABPersonSortByFirstName)
错误消息:无法将表达式的类型“(ABAddressBookRef,源:@lvalue Unmanaged,sortOrdering:Int)”转换为类型“$T4”
最佳答案
两个错误:ABAddressBookCopyDefaultSource()
返回
Unmanaged<ABRecord>!
,所以你必须调用takeRetainedValue()
关于返回值。
ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering()
的最后一个参数必须
转换为预期类型 ABPersonSortOrdering
:
var source: ABRecord = ABAddressBookCopyDefaultSource(addressBook).takeRetainedValue()
var allPeople = ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook,
source, ABPersonSortOrdering(kABPersonSortByFirstName))
关于sorting - Swift AddressBook - 复制源中的所有人员,但存在排序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29449894/