美文网首页
iOS通讯录

iOS通讯录

作者: 灬宇灬 | 来源:发表于2017-02-23 15:44 被阅读105次

    ABAddressBook 和ABAddressBookUI是iOS9.0之前使用获取联系人信息的.iOS9.0之后,苹果推出了新的框架Contact和ContactUI. AB是使用C写的,调用方法全部都是C的函数,而CN是用OC写的,调用方法简单.

    1.ABAddressBook 和ABAddressBookUI

    ABAddressBookUI是封装的ABAddressBook API,用来操作数据库联系人信息.

    a.ABPeoplePickerNavigationController 展示联系人列表;

    b.ABPersonViewController,展示传入的peoson属性,通过设置属性决定是否编辑;

    c.ABNewPersonViewController 添加一个新的person,但是该VC必须加入到Navi下,所以需要模态推出该视图;

    d.ABUnknownPersonViewController 使用当前数据库内联系人,创建一个新的Person.

    以上四个VC都有各自的代理方法,处理之后的工作.

    也可以直接使用ABAddressBook API来操作联系人信息

    a. 添加联系人,添加联系人之前判断联系人是否存在:

    判断添加的联系人是否存在

    图片中只判断了联系人姓名,可以多个属性同时进行判断,来决定是否已经添加.


    添加联系人

    联系人的某些属性,eg:电话号码,邮箱等都是可以填写多个,所以需需要使用多值属性.

    b.删除Person

    删除联系人

    2.Contact和ContactUI

    与ABAddressBookUI一样,ContactUI也是苹果提供的操作联系人信息的快捷方式.

    ContactUI中只有两个控制器,CNContactPickerViewController和CNContactViewController,

    a. CNContactPickerViewController 展示联系人列表;

    b. CNContactViewController 提供如下三种初始化方法,与AB功能相同

           + (instancetype)viewControllerForContact:(CNContact*)contact;

           + (instancetype)viewControllerForUnknownContact:(CNContact*)contact;

           + (instancetype)viewControllerForNewContact:(nullableCNContact*)contact

    a. 使用Contact API添加联系人, 删除联系

    判断联系人是否存在

    保存联系人

    保存联系人

    delete联系人

    删除某个联系人

    相关文章

      网友评论

          本文标题:iOS通讯录

          本文链接:https://www.haomeiwen.com/subject/ibvvwttx.html