使用iPhone的內置地址簿框架,如何在NSUserDefaults中將聯繫人的特定列表保存到數組?我需要保存收件人列表供以後使用。將聯繫人列表保存到NSUserDefaults
我想確保在應用程序關閉後用戶編輯聯繫人時不會遇到問題。是否有某種每個聯繫人都有的唯一ID,以後我可以保存並查找?
使用iPhone的內置地址簿框架,如何在NSUserDefaults中將聯繫人的特定列表保存到數組?我需要保存收件人列表供以後使用。將聯繫人列表保存到NSUserDefaults
我想確保在應用程序關閉後用戶編輯聯繫人時不會遇到問題。是否有某種每個聯繫人都有的唯一ID,以後我可以保存並查找?
ABRecordID
最肯定做改變(這已經瞭解到硬盤的方式 - 爲多機聯繫人同步的結果)
馬特Gemmell具有iphone-dev-tips-for-synced-contacts
一個很好的書面記錄,我不存儲複合名稱,而是ABRecordId,名字,姓氏,電子郵件地址和電話號碼(最後兩個由我的應用程序直接使用)。
如果我不上
ABRecordRef aRef = ABAddressBookGetPersonWithRecordID(addressBook, aRecordId);
我用一串代碼,以找到姓,名潛在的匹配,然後通過電話號碼完善它得到一擊。
作爲最後一項,我將聯繫人生成的UUID關聯起來,以便將所有這些(可能)模糊分辨率從我與聯繫人關聯的數據中抽象出來。
ABRecordRef有一個ABRecordID屬性,您應該可以使用它來唯一標識它以便以後訪問。
要小心這個,我相信有一個問題(至少在OS3.0之前),當用戶同步他們的設備時,這個ABRecordID可能會改變。如果你依靠再次使用該ID,這顯然會導致問題。我不知道這是否仍然在OS3.0中發生。
http://discussions.apple.com/thread.jspa?threadID=1771736
只是要注意。
如上所述,由於同步,這是不可靠的。或許在09年,情況並非如此。 – MrTristan 2013-08-28 13:13:56