Swift AddressBook - 复制源代码中存在排序问题的所有人
Swift AddressBook - copy all people in source with sort ordering issue
这是我遇到的问题。非常感谢任何帮助。
代码如下:
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()
returns
Unmanaged<ABRecord>!
,所以你必须调用 takeRetainedValue()
关于返回值。
ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering()
的最后一个参数必须
转换为预期类型 ABPersonSortOrdering
:
var source: ABRecord = ABAddressBookCopyDefaultSource(addressBook).takeRetainedValue()
var allPeople = ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook,
source, ABPersonSortOrdering(kABPersonSortByFirstName))
这是我遇到的问题。非常感谢任何帮助。
代码如下:
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()
returns
Unmanaged<ABRecord>!
,所以你必须调用 takeRetainedValue()
关于返回值。
ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering()
的最后一个参数必须
转换为预期类型 ABPersonSortOrdering
:
var source: ABRecord = ABAddressBookCopyDefaultSource(addressBook).takeRetainedValue()
var allPeople = ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook,
source, ABPersonSortOrdering(kABPersonSortByFirstName))