中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

吐槽:iOS要獲得聯系人所屬分組好麻煩

發布時間:2020-07-03 02:54:48 來源:網絡 閱讀:718 作者:kensou503 欄目:移動開發

      最近接觸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頭文件中的友好的說明和注釋,會讓你在跳到其他幾個頭文件的坑的時候死得更慘。

     

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

库尔勒市| 房产| 漳平市| 元江| 阜康市| 栾城县| 民丰县| 易门县| 临沂市| 桃园市| 古丈县| 巴里| 中西区| 天门市| 涞水县| 南阳市| 囊谦县| 永嘉县| 尤溪县| 合川市| 堆龙德庆县| 鄯善县| 温泉县| 西乡县| 庄浪县| 上林县| 枝江市| 林州市| 蓝山县| 灯塔市| 隆林| 靖远县| 和硕县| 怀宁县| 宁安市| 泽普县| 津市市| 山阴县| 望谟县| 容城县| 安福县|