是否可以使用AddressBook和联系人框架根据组织名称或职位名称获取特定联系人信息或联系人信息列表?根据组织名称或工作标题获取iOS联系人列表
回答
我不这么认为,您只需在谓词中给出组织名称或职位即可从CNContact存储中获取联系人。您应该在密钥中包含组织名称和职位名称,然后重新访问联系人列表。检查代码片段。我希望它有帮助。谢谢。
func fetchContacts()
{
let contactStore = CNContactStore()
var allContainers : [CNContainer] = []
var allContacts : [CNContact] = []
//you can use one of these/ all keys to filter contacts
let keysToFetch = [CNContactGivenNameKey, CNContactOrganizationNameKey, CNContactJobTitleKey]
var OrganizationArray = [CNContact]()
do{
// _______________ Fetch all the Containers_________________________________
allContainers = try contactStore.containersMatchingPredicate(nil)
}
catch{
print(error)
}
for container in allContainers{
let fetchPredicate = CNContact.predicateForContactsInContainerWithIdentifier(container.identifier)
do{
//____________Fetch all the contacts corresponding to every Container______
let containerResults = try contactStore.unifiedContactsMatchingPredicate(fetchPredicate, keysToFetch: keysToFetch)
// allContacts.appendContentsOf(containerResults)
for contactRec in containerResults {
if contactRec.organizationName != "" {
OrganizationArray.append(contactRec)
}
}
}
catch{
print(error)
}
}
}
你的答案这个我知道,我是希望有一些其他方式可以基于自定义标签获取特定联系人,而不是基于名称属性。如果我们按照此方法,则必须遍历设备中可用的所有联系人以获取或更新特定联系人。 –
据我所知,您可以根据联系人姓名,联系人标识符,容器和组获取联系人。苹果公司没有提供其他物业的预测。我认为你必须遍历所有的联系人。 – Jush
看起来没有选择。 –
- 1. 根据联系人姓名获取sectionIndex标题
- 2. 如何获取联系人列表组的帐户类型名称和图标?
- 3. 如何获取联系人组ID或名称?
- 4. iPhone联系人 - 获取公司名称
- 5. Android获取联系人列表,但没有SIM卡联系人
- 6. 如何获取Android联系人列表上联系人的ID?
- 7. Google联系人每个联系人的API检索组名称
- 8. 黑莓 - 获取联系人列表
- 9. 如何获取msn联系人列表?
- 10. 从android联系人获取组织详细信息?
- 11. 获取iOS上所有联系人的列表
- 12. Android:我试图根据显示名称搜索联系人
- 13. 联系人表单名称字符串
- 14. 宏根据工作表名称
- 15. android获取联系人的昵称
- 16. 根据名称或包标识获取iOS应用程序的路径
- 17. 根据工作表名称显示工作表数据
- 18. Google + OAuth和/或DotNetOpenAuth获取联系人列表 - VB.net
- 19. 打开联系人列表以选择联系人或添加新联系人
- 20. 获取联系人
- 21. 根据列名和值获取表名称
- 22. 获取PHP联系表格工作
- 23. iOS联系人选取器
- 24. 获取属于特定组的联系人列表
- 25. 如何获取datagridvier列标题名称
- 26. 获取列的标题名称
- 27. 如何根据zenoss中的组名称获取设备名称?
- 28. 如何从联系人列表中读取联系人姓名和号码
- 29. 如何根据Android中的联系人姓名部分获取联系人号码?
- 30. Excel - 根据Excel工作表中的显示名称从AD获取用户名
请务必阅读本,努力提高你的问题:http://stackoverflow.com/help/mcve –
如果任何人有一个更好的解决办法,请在下面添加 –