将正确的 CNContact.predicateForContacts 设置为 select 电子邮件
set correct CNContact.predicateForContacts to select email
将 CNContacts 中的 "email" 字段 CNContact.predicateForContacts
设置为 select 的正确方法是什么?比如 SQL where email like "%lbs%"
?
这是我的功能,可以删除很多我想删除的导入联系人。但是函数 return 0 命中。但是在字段 email.
中有超过 1000 个联系人 "lbs"
func deleteContacts(){
let store = CNContactStore()
let predicate = CNContact.predicateForContacts(matchingName: "lbs")
let toFetch = [CNContactEmailAddressesKey]
do{
let contacts = try store.unifiedContacts(matching: predicate,keysToFetch: toFetch as [CNKeyDescriptor])
guard contacts.count > 0
else{
print("No contacts found")
return
}
guard let contact = contacts.first else{
return
}
let req = CNSaveRequest()
let mutableContact = contact.mutableCopy() as! CNMutableContact
req.delete(mutableContact)
do{
try store.execute(req)
print("Success, deleted the data: Count: \(contacts.count)")
} catch let e{
print("Error = \(e)")
}
} catch let err{
print(err)
}
}
您的谓词正在尝试查找人员姓名与字符串 lbs
.
匹配的联系人
没有 built-in 谓词可用于查找电子邮件地址包含特定字符串的联系人。解决方案是使用 enumerateContacts
并查看每个联系人的电子邮件地址列表。然后您需要检查联系人的电子邮件地址是否包含您要检查的字符串。
将 CNContacts 中的 "email" 字段 CNContact.predicateForContacts
设置为 select 的正确方法是什么?比如 SQL where email like "%lbs%"
?
这是我的功能,可以删除很多我想删除的导入联系人。但是函数 return 0 命中。但是在字段 email.
中有超过 1000 个联系人 "lbs"func deleteContacts(){
let store = CNContactStore()
let predicate = CNContact.predicateForContacts(matchingName: "lbs")
let toFetch = [CNContactEmailAddressesKey]
do{
let contacts = try store.unifiedContacts(matching: predicate,keysToFetch: toFetch as [CNKeyDescriptor])
guard contacts.count > 0
else{
print("No contacts found")
return
}
guard let contact = contacts.first else{
return
}
let req = CNSaveRequest()
let mutableContact = contact.mutableCopy() as! CNMutableContact
req.delete(mutableContact)
do{
try store.execute(req)
print("Success, deleted the data: Count: \(contacts.count)")
} catch let e{
print("Error = \(e)")
}
} catch let err{
print(err)
}
}
您的谓词正在尝试查找人员姓名与字符串 lbs
.
没有 built-in 谓词可用于查找电子邮件地址包含特定字符串的联系人。解决方案是使用 enumerateContacts
并查看每个联系人的电子邮件地址列表。然后您需要检查联系人的电子邮件地址是否包含您要检查的字符串。