核心数据中的地址簿联系人

时间:2010-02-23 18:21:08

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

在核心数据中保存通讯簿联系人时,什么被视为“最佳做法”?

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

在UI中,我计划提供一个屏幕,用户可以从当前地址簿中选择联系人,创建新的联系人以存储在地址簿中,或者只创建一个没有保存记录的“一次性”联系人,仅适用于本地应用程序。这些联系人在他们所做的订单的上下文中被跟踪,并且并非所有联系人都需要在App本身之外保存。

如果使用现有条目,从地址簿复制数据感觉“错误”,但如果编辑或删除了地址簿记录,则不知道该怎么做。

我只需要为App的目的跟踪名称和照片,因此肠道反应是存储ABRecordID,并且 - 因为这些显然可以change(!) - 名字和姓氏,以及只更新本地记录(如何跟踪?)。

或者您可以直接存储ABRecordRef吗? (我想他们并不执着?)

我已经在Google上进行了一些搜索,但在这里找不到任何代码示例或以这种方式讨论Core Data和Address Book的集成;只是孤立的东西很多。

任何有这方面经验/陷阱的人都会指出这些问题,或者指出我更多阅读的方向?

感谢。

Andy W

2 个答案:

答案 0 :(得分:5)

我会存储ABRecordID然后处理它们发生变化的情况虽然我没有亲自看到他们改变的情况,除非用户删除所有数据并从其他来源恢复(例如从MobileMe移动到Google)

答案 1 :(得分:3)

有关如何处理更改ID以及存储内容的信息,请参阅Apples online Documentation