我需要知道地址簿中当前人的卡是否已从我的申请中更改。
我最好的办法是在ABAddressbook
内保存一些数据或属性。
如何在个人卡中保存iOS 6中的一些其他数据?
答案 0 :(得分:1)
iOS不提供在地址簿中存储额外数据的功能。
保留额外联系人相关数据的最直接方法是使用ABPerson记录的RecordID将其存储在您的应用中。但是,请注意,这些标识符可能会消失(如果从AddressBook中删除记录),甚至更改(如果使用更改了同步配置,例如iCloud)。如果你真的需要保留与ABPerson记录匹配的额外数据,那么你可以获取CompositeName属性的副本(这是从名字,姓氏等构造的派生值),然后如果你的缓存RecordID查找失败,那么寻找具有匹配的CompositeName的记录。
如果您只想确定ABPerson记录是否已更改,那么仅仅缓存ModificationDateProperty的值并将其与新值进行比较就足够了吗?