代码之家  ›  专栏  ›  技术社区  ›  Jonathan Sterling

将联系人列表保存到nsuserdefaults

  •  3
  • Jonathan Sterling  · 技术社区  · 16 年前

    使用iPhone的内置通讯簿框架,如何将特定联系人列表保存到nsuserdefaults中的数组中?我需要保存收件人列表以备以后使用。

    我想确保在应用程序关闭后,如果用户编辑联系人,我不会遇到问题。是否每个联系人都有某种唯一的ID,我可以在以后保存和查找?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Jonathan Sterling    14 年前

    ABRecordID 最肯定的是做改变(学习了这一困难的方式-由于多机接触同步)

    马特·杰梅尔在 iphone-dev-tips-for-synced-contacts

    我不存储复合名称,而是存储缩写、名字、姓氏、电子邮件地址和电话号码(后两个直接由我的应用程序使用)。

    如果我不被击中

     ABRecordRef aRef = ABAddressBookGetPersonWithRecordID(addressBook, aRecordId);
    

    我使用一组代码来查找姓氏、名字的潜在匹配项,然后通过电话号码对其进行优化。

    最后一点,我将为联系人关联生成的UUID,以便从与联系人关联的数据中抽象出所有(可能的)模糊解决方案。

        2
  •  2
  •   Charles Gamble    16 年前

    小心点,我相信有一个问题(至少在OS3.0之前)当用户同步他们的设备时,这个abrecordid可能会改变。如果您再次依赖该ID,这显然会导致问题。我不知道这是否还在OS3.0中发生。

    http://discussions.apple.com/thread.jspa?threadID=1771736

    只是一些需要注意的事情。

        3
  •  0
  •   Elfred    16 年前

    abrecordref具有abrecordid属性,您应该能够使用它来唯一地标识它以便以后访问。

    推荐文章