Contacts(实战)
来源:互联网 发布:中国保险网络大学80分 编辑:程序博客网 时间:2024/04/27 17:08
Contacts Framework主要用于帮助我们获取用户的联系方式,即通讯录中的相关信息。我们可以对其实现增删改查及归纳整理等相关功能。
下面介绍一些比较常用的代码实现。
1 增加联系人
// Creating a mutable object to add to the contactlet contact = CNMutableContact()contact.contactType = CNContactType.Person // 类型// 照片if let image = UIImage(named: "qq") { if let data = UIImagePNGRepresentation(image) { contact.imageData = data }}contact.familyName = "阳" // 姓contact.givenName = "君" // 名contact.jobTitle = "IOS攻城师" // 工作// 电话let homePhone = CNLabeledValue(label:CNLabelPhoneNumberMobile, value:CNPhoneNumber(stringValue:"185-1105-6826"))contact.phoneNumbers = [homePhone]// 邮件let workEmail = CNLabeledValue(label:CNLabelWork, value:"937447974@qq.com") // 工作contact.emailAddresses = [workEmail]// 家庭地址let homeAddress = CNMutablePostalAddress()homeAddress.street = "西城区" // 街道homeAddress.city = "北京" // 城市homeAddress.state = "北京"// 省homeAddress.postalCode = "000000" // 邮编contact.postalAddresses = [CNLabeledValue(label:CNLabelHome, value:homeAddress)] // 添加地址// 生日let birthday = NSDateComponents()birthday.year = 2016birthday.month = 1birthday.day = 12contact.birthday = birthday// Saving the newly created contactdo { let saveRequest = CNSaveRequest() saveRequest.addContact(contact, toContainerWithIdentifier:self.store.defaultContainerIdentifier()) try self.store.executeSaveRequest(saveRequest)} catch { print("未知错误:\(error)")}
2 查询联系人
/// 快速查询private var predicate: NSPredicate! { didSet { do { self.data = try self.store.unifiedContactsMatchingPredicate(self.predicate, keysToFetch:[CNContactGivenNameKey, CNContactFamilyNameKey]) self.tableView.reloadData() } catch { print("未知错误:\(error)") } }}// 调用self.predicate = CNContact.predicateForContactsInContainerWithIdentifier(self.store.defaultContainerIdentifier()) //predicateForContactsMatchingName("")
3 删除联系人
// 删除电话do { // 删除通讯录中电话 let saveRequest = CNSaveRequest() let contact = self.data[indexPath.row].mutableCopy() as! CNMutableContact saveRequest.deleteContact(contact) // 保存 try self.store.executeSaveRequest(saveRequest)} catch { print("未知错误:\(error)")}
Appendix
Sample Code
Swift
Related Documentation
Contacts Framework Reference
Revision History
Copyright
CSDN:http://blog.csdn.net/y550918116j
GitHub:https://github.com/937447974/Blog
0 0
- Contacts(实战)
- Contacts
- Contacts
- contacts 相关
- PhoneGap-----Contacts
- Contacts Provider
- TERRY - Contacts
- Contacts 操作
- Contacts启动
- 联系人Contacts
- Contacts(简介)
- Contacts(CNContactStore)
- Contacts(CNSaveRequest)
- Contacts(CNContact)
- Contacts(CNLabeledValue)
- Contacts(CNGroup)
- Contacts Provider
- MTK_FAQ_Telephony - Contacts
- 了尘缘游总统府
- JAVA的StringBuffer类
- 考试
- 网络时代,纷繁复杂的时代
- 想要的大学生活
- Contacts(实战)
- 寂寞的一年又要过去了
- android 网站总结
- iOS SDL2静态库的编译
- 导包
- Android效果之手机支付宝中增长的数字效果
- 世界是平的
- 淘宝开店记
- 长尾理论