15

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

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

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

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

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

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

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

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

谢谢。

安迪·W

4

2 回答 2

5

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

于 2010-02-23T19:30:30.883 回答
3

请参阅Apples 在线文档,了解如何处理不断变化的 id 以及要存储的内容。

于 2011-03-21T10:28:18.080 回答