与联系人关联的自定义标签 IOS OS X 联系人框架 Swift
Custom labels associated with a contact IOS OS X Contact Framework Swift
如何访问只读 and/or 可变联系人记录,这些记录与我认为是自定义标记的关系联系人数据有关?
例如,我有与联系人关联的儿媳、丈夫或儿子自定义标签我需要 CNLabeledValue CNLabelContactRelationChild 吗?我需要什么才能阅读这些或从联系人数据中获取这些自定义标签?
这是我设法为联系人分配关系并能够使用关系获取它的方法
var myNewContact = CNMutableContact()
let myRelation = CNContactRelation(name: "mommy")
let myMom = CNLabeledValue(label: CNLabelContactRelationMother, value: myRelation)
myNewContact.contactRelations.append(myMom)
// add additional info to your contact such as name, email, family
// save your contact
let keysToFetch = [CNContactGivenNameKey, CNContactRelationsKey, CNContactEmailAddressesKey]
let text = "mommy"
let request = CNContactFetchRequest(keysToFetch: keysToFetch)
do {
try store.enumerateContactsWithFetchRequest(request) {
contact, stop in
for var i = 0; i < contact.contactRelations.count; i++ {
if (contact.contactRelations[i].valueForKey("value")?.valueForKey("name")!)! as? String == text
{
print(contact.givenName)
print(contact.identifier)
}
}
}
} catch let err{
print(err)
}
}
如何访问只读 and/or 可变联系人记录,这些记录与我认为是自定义标记的关系联系人数据有关?
例如,我有与联系人关联的儿媳、丈夫或儿子自定义标签我需要 CNLabeledValue CNLabelContactRelationChild 吗?我需要什么才能阅读这些或从联系人数据中获取这些自定义标签?
这是我设法为联系人分配关系并能够使用关系获取它的方法
var myNewContact = CNMutableContact()
let myRelation = CNContactRelation(name: "mommy")
let myMom = CNLabeledValue(label: CNLabelContactRelationMother, value: myRelation)
myNewContact.contactRelations.append(myMom)
// add additional info to your contact such as name, email, family
// save your contact
let keysToFetch = [CNContactGivenNameKey, CNContactRelationsKey, CNContactEmailAddressesKey]
let text = "mommy"
let request = CNContactFetchRequest(keysToFetch: keysToFetch)
do {
try store.enumerateContactsWithFetchRequest(request) {
contact, stop in
for var i = 0; i < contact.contactRelations.count; i++ {
if (contact.contactRelations[i].valueForKey("value")?.valueForKey("name")!)! as? String == text
{
print(contact.givenName)
print(contact.identifier)
}
}
}
} catch let err{
print(err)
}
}