吐槽:iOS要獲得聯(lián)系人所屬分組好麻煩

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

高淳網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)

      在iOS6以及更低的版本,無法根據(jù)一個聯(lián)系人的ABRecordRef獲得他所屬于的分組ABGroupRef,Mac上有提供該API,但iOS上目前暫時沒有。所以,如果要獲取一個聯(lián)系人的分組,你必須遍歷整個通訊錄才能得到該聯(lián)系人所屬的分組列表。故,如果你有對于分組處理的大量需求,建立一個某種程度上的分組緩存基本上是免不了的了。如果你還需要去增刪改分組,我想,使用起來麻煩是少不了的。

      其次,在新增聯(lián)系人的時候,如果你想設置他的分組,調(diào)用相應API的時候,請注意查看API說明文檔,其中有不少要求你操作之前必須先進行相應的保存操作。舉個例子:

      我有一個聯(lián)系人,分組為A,而A在設備上原來不存在。那么我們的理所當然的邏輯就是:

      創(chuàng)建聯(lián)系人,創(chuàng)建分組A,然后將聯(lián)系人添加到分組A中,最后保存通訊錄的修改。

      實際上,當你在將聯(lián)系人添加到分組A中之前,你需要先保存通訊錄的修改,將聯(lián)系人刷到數(shù)據(jù)庫之后,你才能成功添加分組!類似的API有很多,你只有查看文檔才能知道哪些API調(diào)用之前需要保存一下數(shù)據(jù)庫。而我相信,在一般情況下,一個iOS程序員只會去查看頭文件里頭的注釋,而不是API文檔;而ABGroup的頭文件里頭完全沒有提到這些事情。只有在我納悶為啥一直添加分組不成功的時候,走投無路抱著一絲希望去看文檔的時候才發(fā)現(xiàn)這件事情。

      本來程序員查看文檔也是完全正常的事情,問題在于其他的API在頭文件中均有對API做出一定程度的說明,而這些明明有坑的API卻完全不說明,我只好吐槽了。

      最后友情提示,使用ABAddressBook的API時,請詳細翻閱文檔,而不是僅查看頭文件。因為ABAddressBook.h頭文件中的友好的說明和注釋,會讓你在跳到其他幾個頭文件的坑的時候死得更慘。

     

本文標題:吐槽:iOS要獲得聯(lián)系人所屬分組好麻煩
網(wǎng)址分享:http://bm7419.com/article40/psogho.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、網(wǎng)頁設計公司、營銷型網(wǎng)站建設、搜索引擎優(yōu)化、App設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設