欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IOS 開(kāi)發(fā)之讀取addressbook的實(shí)現(xiàn)實(shí)例

 更新時(shí)間:2017年09月18日 11:08:02   作者:chyroger  
這篇文章主要介紹了IOS 開(kāi)發(fā)之讀取addressbook的實(shí)現(xiàn)實(shí)例的相關(guān)資料,希望通過(guò)本文大家能夠掌握這樣的內(nèi)容,需要的朋友可以參考下

IOS 開(kāi)發(fā)之讀取addressbook的實(shí)現(xiàn)實(shí)例

iphone讀取addressbook:

1.添加addressbook.framework

2.在需要的源文件中    

#import <AddressBook/AddressBook.h> 
#import <AddressBookUI/AddressBookUI.h> 

3.開(kāi)始粘代碼:

//get all people info from the address book 
ABAddressBookRef addressBook = ABAddressBookCreate(); 
CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook);//這是個(gè)數(shù)組的引用 
for(int i = 0; i<CFArrayGetCount(people); i++){ 
  //parse each person of addressbook 
  ABRecordRef record=CFArrayGetValueAtIndex(people, i);//取出一條記錄 
  //以下的屬性都是唯一的,即一個(gè)人只有一個(gè)FirstName,一個(gè)Organization。。。 
  CFStringRef firstName = ABRecordCopyValue(record,kABPersonFirstNameProperty); 
  CFStringRef lastName = ABRecordCopyValue(record,kABPersonLastNameProperty); 
  CFStringRef company = ABRecordCopyValue(record,kABPersonOrganizationProperty); 
  CFStringRef department = ABRecordCopyValue(record,kABPersonDepartmentProperty); 
  CFStringRef job = ABRecordCopyValue(record,kABPersonJobTitleProperty); 
  //"CFStringRef"這個(gè)類型也是個(gè)引用,可以轉(zhuǎn)成NSString* 
  NSlog((NSString *)firstName); 
  //...... 
  //所有這些應(yīng)用都是要釋放的,手冊(cè)里是說(shuō)“you are responsible to release it" 
  (firstName==NULL)?:CFRelease(firstName); 
  (lastName==NULL)?:CFRelease(lastName); 
  (company==NULL)?:CFRelease(company); 
  (department==NULL)?:CFRelease(department); 
  (job==NULL)?:CFRelease(job); 
  //....... 
  //有些屬性不是唯一的,比如一個(gè)人有多個(gè)電話:手機(jī),主電話,傳真。。。 
  ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType); 
  //所有ABMutableMultiValueRef這樣的引用的東西都是這樣一個(gè)元組(id,label,value) 
  multiPhone = ABRecordCopyValue(record, kABPersonPhoneProperty); 
  for (CFIndex i = 0; i < ABMultiValueGetCount(multiPhone); i++) { 
    CFStringRef labelRef = ABMultiValueCopyLabelAtIndex(multiPhone, i); 
    CFStringRef numberRef = ABMultiValueCopyValueAtIndex(multiPhone, i); 
    //可以通過(guò)元組的label來(lái)判定這個(gè)電話是哪種電話,比如下面就包括:主電話,手機(jī),工作傳真 
    if([(NSString *)labelRef isEqualToString:(NSString *) kABPersonPhoneMainLabel]){ 
      person._mainPhone = (NSString *)numberRef; 
    }else if([(NSString *)labelRef isEqualToString:(NSString *) kABPersonPhoneMobileLabel]){ 
      person._cellPhone = (NSString *)numberRef; 
    }else if([(NSString *)labelRef compare:(NSString *) kABPersonPhoneWorkFAXLabel]==NSOrderedSame){ 
      person._fax = (NSString *)numberRef; 
    } 
    CFRelease(labelRef); 
    CFRelease(numberRef); 
  } 
  CFRelease(multiPhone); 
} 
//釋放資源 
//其他還有url,email,地址等等屬性都是ABMutableMultiValueRef多值類型的,可以采用循環(huán)來(lái)遍歷 
 

完了,保存addressbook的部分等以后。

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • iOS中NSNumberFormatter的介紹與用法

    iOS中NSNumberFormatter的介紹與用法

    NSNumberFormatter 應(yīng)該可以滿足你對(duì)數(shù)據(jù)形式的一般需求,值得了解一下,下面這篇文章主要給大家介紹了關(guān)于iOS中NSNumberFormatter的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • iOS通過(guò)逆向理解Block的內(nèi)存模型

    iOS通過(guò)逆向理解Block的內(nèi)存模型

    自從對(duì) iOS 的逆向初窺門(mén)徑后,我也經(jīng)常通過(guò)它來(lái)分析一些比較大的應(yīng)用,參考一下這些應(yīng)用中某些功能的實(shí)現(xiàn)。這個(gè)探索的過(guò)程樂(lè)趣多多,不僅能滿足自己對(duì)未知的好奇心,還經(jīng)常能發(fā)現(xiàn)一些意外的驚喜。這篇文章主要介紹了iOS通過(guò)逆向如何深入理解Block內(nèi)存模型的相關(guān)資料。
    2017-01-01
  • 解決iOS驗(yàn)證碼顯示在左邊問(wèn)題

    解決iOS驗(yàn)證碼顯示在左邊問(wèn)題

    這篇文章主要介紹了iOS驗(yàn)證碼顯示在左邊問(wèn)題,本文給大家分享解決思路通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 移動(dòng)web開(kāi)發(fā)技能之touch事件詳解

    移動(dòng)web開(kāi)發(fā)技能之touch事件詳解

    這篇文章主要為大家介紹了移動(dòng)web開(kāi)發(fā)技能之touch事件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 詳解iOS的深淺拷貝

    詳解iOS的深淺拷貝

    本文詳細(xì)介紹了IOS中的三種拷貝方式,對(duì)iOS的深淺拷貝有疑問(wèn)的朋友們可以參考下本文。
    2016-08-08
  • iOS11 WKWebView問(wèn)題匯總

    iOS11 WKWebView問(wèn)題匯總

    本文給大家分享的是作者在IOS11中使用WKWebView加載URL出現(xiàn)無(wú)法加載內(nèi)容的情況的解決方法,有同樣問(wèn)題的小伙伴可以查看下
    2017-11-11
  • iOS中類似微信紅點(diǎn)顯示功能

    iOS中類似微信紅點(diǎn)顯示功能

    ios中類似微信紅點(diǎn)顯示功能,設(shè)計(jì)思路非常簡(jiǎn)單,給UIView增加一個(gè)分類 所有的視圖都可以根據(jù)需要來(lái)進(jìn)行紅點(diǎn)顯示。下面通過(guò)實(shí)例代碼看下實(shí)現(xiàn)方法吧
    2016-12-12
  • iOS開(kāi)發(fā)中文件的上傳和下載功能的基本實(shí)現(xiàn)

    iOS開(kāi)發(fā)中文件的上傳和下載功能的基本實(shí)現(xiàn)

    這篇文章主要介紹了iOS開(kāi)發(fā)中文件的上傳和下載功能的基本實(shí)現(xiàn),并且下載方面講到了大文件的多線程斷點(diǎn)下載,需要的朋友可以參考下
    2015-11-11
  • iOS自帶動(dòng)畫(huà)效果的實(shí)例代碼

    iOS自帶動(dòng)畫(huà)效果的實(shí)例代碼

    本文給大家分享ios自帶動(dòng)畫(huà)效果的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2016-12-12
  • IOS開(kāi)發(fā)代碼分享之用nstimer實(shí)現(xiàn)倒計(jì)時(shí)功能

    IOS開(kāi)發(fā)代碼分享之用nstimer實(shí)現(xiàn)倒計(jì)時(shí)功能

    在制作IOS項(xiàng)目中,我們經(jīng)常要用到倒計(jì)時(shí)功能,今天就分享下使用nstimer實(shí)現(xiàn)的倒計(jì)時(shí)功能的代碼,希望對(duì)大家能有所幫助
    2014-09-09

最新評(píng)論