【问题标题】:Address Book contacts in Core DataCore Data 中的通讯录联系人
【发布时间】:2011-01-20 05:02:23
【问题描述】:

在 Core Data 中保存通讯簿联系人时被认为是“最佳实践”?

我正在编写一个基于 Core Data 的 iPhone 应用程序,我需要在其中保存和调用通讯簿联系人作为数据模型的一部分。

在 UI 中,我计划展示一个屏幕,用户可以在其中从当前通讯录中选择一个联系人,创建一个新联系人以存储在通讯录中,或者只创建一个没有保存记录的“一次性”联系人,仅限应用程序本地。这些联系人会在他们所下订单的上下文中进行跟踪,并非所有联系人都需要在应用程序本身之外保存。

如果使用现有条目,从通讯簿复制数据感觉“错误”,但不确定如果编辑或删除通讯簿记录该怎么办。

为了应用程序的目的,我只需要跟踪姓名和照片,因此直觉反应是存储 ABRecordID,并且——因为这些显然可以change(!)——名字和姓氏,并且只更新本地记录(如果已更新)(如何跟踪?)。

或者你可以直接存储 ABRecordRef 吗? (我想他们不会坚持不懈?)

我在谷歌和这里做了一些搜索,但没有找到任何代码示例或关于这种方式集成核心数据和地址簿的讨论;每个单独的东西都有很多东西。

任何对此主题有一些经验/陷阱的人指出它们,或者指出我的更多阅读方向?

谢谢。

安迪·W

【问题讨论】:

    标签: objective-c iphone cocoa-touch core-data addressbook


    【解决方案1】:

    我会存储 ABRecordID,然后在它们发生变化时处理这种情况,尽管我个人没有看到它们发生变化的情况,除非用户删除所有数据并从另一个来源恢复它(例如从 MobileMe 移动到 Google) .

    【讨论】:

    • 那行不通。对于同一条记录,ABRecordID 在不同设备之间不是恒定的。
    【解决方案2】:

    请参阅Apples online Documentation,了解如何处理更改的 id 以及要存储的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多