AAA*_*AAA 12 abaddressbook ios swift
现在我正在使用此代码从手机中获取联系人:
var addressBookReff: ABAddressBookRef = ABAddressBookCreateWithOptions(nil, nil).takeRetainedValue()
let people:NSArray = ABAddressBookCopyArrayOfAllPeople(addressBookReff).takeRetainedValue()
for person in people{
if let name:String = ABRecordCopyValue(person, kABPersonFirstNameProperty)?.takeRetainedValue() as? String {
let numbers:ABMultiValue = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue()
if let number:String = ABMultiValueCopyValueAtIndex(numbers,0)?.takeRetainedValue() as? String {
self.arrOfDictContacts.addObject(["\(name)":"\(number)"])
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,我kABPersonFirstNameProperty用来获得名字.
我想得到联系人的全名!!!
如果我使用,kABPersonCompositeNameFormatFirstNameFirst那么我会得到错误Int is not convertible toABPropertyId
请原谅我如果这个问题很简单并有很多答案,我可以找到任何一个为我工作,因为我不想要额外的功能.
那么如何获取全名并将其添加到字典中
arrOfDictContacts呢?
erd*_*ser 29
在AddressBook API中,您可以使用以下代码获取完整/复合名称:
let name = ABRecordCopyCompositeName(person).takeRetainedValue()
Run Code Online (Sandbox Code Playgroud)
在Contacts API(适用于iOS 9+)中,您可以使用以下代码:
let name: String? = CNContactFormatter.stringFromContact(contact, style: .FullName)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4898 次 |
| 最近记录: |