最近接觸iOS的AddressBook.framework教多,覺得關于聯系人這塊的API,如果只是讀取或者簡單的創建,他提供的api還是能滿足需要的。但是,如果你需要做一個類似通訊錄同步的,那么他的API用起來就稍稍麻煩一點。

在iOS6以及更低的版本,無法根據一個聯系人的ABRecordRef獲得他所屬于的分組ABGroupRef,Mac上有提供該API,但iOS上目前暫時沒有。所以,如果要獲取一個聯系人的分組,你必須遍歷整個通訊錄才能得到該聯系人所屬的分組列表。故,如果你有對于分組處理的大量需求,建立一個某種程度上的分組緩存基本上是免不了的了。如果你還需要去增刪改分組,我想,使用起來麻煩是少不了的。
其次,在新增聯系人的時候,如果你想設置他的分組,調用相應API的時候,請注意查看API說明文檔,其中有不少要求你操作之前必須先進行相應的保存操作。舉個例子:
我有一個聯系人,分組為A,而A在設備上原來不存在。那么我們的理所當然的邏輯就是:
創建聯系人,創建分組A,然后將聯系人添加到分組A中,最后保存通訊錄的修改。
實際上,當你在將聯系人添加到分組A中之前,你需要先保存通訊錄的修改,將聯系人刷到數據庫之后,你才能成功添加分組!類似的API有很多,你只有查看文檔才能知道哪些API調用之前需要保存一下數據庫。而我相信,在一般情況下,一個iOS程序員只會去查看頭文件里頭的注釋,而不是API文檔;而ABGroup的頭文件里頭完全沒有提到這些事情。只有在我納悶為啥一直添加分組不成功的時候,走投無路抱著一絲希望去看文檔的時候才發現這件事情。
本來程序員查看文檔也是完全正常的事情,問題在于其他的API在頭文件中均有對API做出一定程度的說明,而這些明明有坑的API卻完全不說明,我只好吐槽了。
最后友情提示,使用ABAddressBook的API時,請詳細翻閱文檔,而不是僅查看頭文件。因為ABAddressBook.h頭文件中的友好的說明和注釋,會讓你在跳到其他幾個頭文件的坑的時候死得更慘。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:吐槽:iOS要獲得聯系人所屬分組好麻煩-創新互聯
本文網址:http://www.yijiale78.com/article38/csoopp.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、網站營銷、搜索引擎優化、關鍵詞優化、面包屑導航、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯