欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

獲取通訊錄內(nèi)容-創(chuàng)新互聯(lián)

先導(dǎo)入AddressBook.framework和

我們注重客戶(hù)提出的每個(gè)要求,我們充分考慮每一個(gè)細(xì)節(jié),我們積極的做好成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)服務(wù),我們努力開(kāi)拓更好的視野,通過(guò)不懈的努力,成都創(chuàng)新互聯(lián)公司贏(yíng)得了業(yè)內(nèi)的良好聲譽(yù),這一切,也不斷的激勵(lì)著我們更好的服務(wù)客戶(hù)。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),小程序開(kāi)發(fā),網(wǎng)站開(kāi)發(fā),技術(shù)開(kāi)發(fā)實(shí)力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫(kù)的技術(shù)開(kāi)發(fā)工程師。

AddressBookUI.framework兩個(gè)框架

添加地址簿框架后,我們還需要在工程中添加相應(yīng)的頭文件:

#import <AddressBook/AddressBook.h>

#import <AddressBookUI/AddressBookUI.h>

1.AddressBookUI顯示部分

AddressBookUI中提供了和聯(lián)系人顯示信息相關(guān)的一些Controller,有四個(gè):

ABPeoplePickerNavigationController:顯示整個(gè)通訊錄并可以選擇一個(gè)聯(lián)系人的信息

ABPersonViewController:顯示一個(gè)具體聯(lián)系人的信息

ABNewPersonViewController:增加一個(gè)新的聯(lián)系人

ABUnknownPersonViewController:完善一個(gè)聯(lián)系人的信息

由于其中最主要的是ABPeoplePickerNavigationController,因此就具體的介紹一下通過(guò)程序顯示整個(gè)通訊錄并且可以選擇其中某個(gè)聯(lián)系人信息的步驟。

(a)創(chuàng)建并初始化一個(gè)ABPeoplePickerNavigationController對(duì)象

(b)設(shè)置其代理(delegate)

(c)用presentModalViewController:animated:這個(gè)方法進(jìn)行顯示整個(gè)通訊錄頁(yè)面

例子:

   - (IBAction)showPicker:(id)sender {

   ABPeoplePickerNavigationController *picker =

   [[ABPeoplePickerNavigationController alloc] init];

 picker.peoplePickerDelegate = self;

   [self presentModalViewController:picker animated:YES];

  [picker release];

}

ABPeoplePickerNavigationControllerDelegate的方法介紹

當(dāng)用戶(hù)選擇取消時(shí)調(diào)用這個(gè)方法,可以在這個(gè)方法里取消整個(gè)通訊錄頁(yè)面的顯示。

(1)peoplePickerNavigationControllerDidCancel:

例子 :

- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {

    [peoplePicker dismissViewControllerAnimated:YES completion:nil];

}

(2)選擇具體聯(lián)系人的時(shí)候,拿到該聯(lián)系人的具體信息

-(void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person {

    //獲取聯(lián)系人姓名

    NSString *name = (__bridge NSString*)ABRecordCopyCompositeName(person);

    NSLog(@"name = %@",name);

    //獲取聯(lián)系人電話(huà)

    ABMutableMultiValueRef phoneMulti = ABRecordCopyValue(person, kABPersonPhoneProperty);

  

    NSMutableArray *phones = [[NSMutableArray alloc] init];

    int i;

    for (i = 0; i < ABMultiValueGetCount(phoneMulti); i++) {

        NSString *aPhone = (__bridge NSString*)ABMultiValueCopyValueAtIndex(phoneMulti, i);

        NSString *aLabel = (__bridge NSString*)ABMultiValueCopyLabelAtIndex(phoneMulti, i);

        NSLog(@"PhoneLabel:%@ Phone#:%@",aLabel,aPhone);

        if([aLabel isEqualToString:@"_$!<Mobile>!$_"])

        {

            [phones addObject:aPhone];

        }

    }

    NSString *phone;

    if([phones count]>0)

    {

        NSString *mobileNo = [phones objectAtIndex:0];

        phone = mobileNo;

        NSLog(@"phone = %@", phone);

        //NSLog(mobileNo);

    }

    //獲取聯(lián)系人郵箱

    ABMutableMultiValueRef emailMulti = ABRecordCopyValue(person, kABPersonEmailProperty);

    NSMutableArray *emails = [[NSMutableArray alloc] init];

    for (i = 0;i < ABMultiValueGetCount(emailMulti); i++)

    {

        NSString *emailAdress = (__bridge NSString*)ABMultiValueCopyValueAtIndex(emailMulti, i);

        [emails addObject:emailAdress];

    }

    NSString *email;

    if([emails count]>0)

    {

        NSString *emailFirst=[emails objectAtIndex:0];

        email = emailFirst;

        NSLog(@"email = %@",email);

    }

    [peoplePicker dismissViewControllerAnimated:YES completion:nil];

  

}

2.AddressBook部分

AddressBook框架部分主要是記錄聯(lián)系人的各個(gè)信息,ABRecordRef類(lèi)型的記錄既可以代表單個(gè)人(kABPersonType),也可以是一個(gè)集合(kABGroupType)。

通訊錄中聯(lián)系人的各個(gè)屬性有兩種形式,單值屬性和多值屬性。單值屬性對(duì)應(yīng)的只有一個(gè)值,比如聯(lián)系人的姓名;多值屬性對(duì)應(yīng)的可能有多個(gè)值,比如聯(lián)系人有多個(gè)電話(huà)號(hào)碼等。

(a)常用方法


  1. CFTypeRef ABRecordCopyValue (

  2.   ABRecordRef record,

  3.   ABPropertyID property

  4. );

從一個(gè)記錄中獲取某個(gè)屬性對(duì)應(yīng)的值

(b)單值屬性對(duì)應(yīng)的方法


  1. CFStringRef ABRecordCopyCompositeName (

  2.   ABRecordRef record

  3. );

獲取聯(lián)系人完整的姓名。

(c)多值屬性對(duì)應(yīng)的方法


  1. CFTypeRef ABMultiValueCopyValueAtIndex (

  2.   ABMultiValueRef multiValue,

  3.   CFIndex index

  4. );

返回對(duì)應(yīng)位置處的屬性值


  1. CFStringRef ABMultiValueCopyLabelAtIndex (

  2.   ABMultiValueRef multiValue,

  3.   CFIndex index

  4. );

返回對(duì)應(yīng)位置處的屬性標(biāo)識(shí)


  1. CFArrayRef ABMultiValueCopyArrayOfAllValues (

  2.   ABMultiValueRef multiValue

  3. );

返回包含所有屬性值的數(shù)組


  1. CFIndex ABMultiValueGetCount (

  2.   ABMultiValueRef multiValue

  3. );

返回屬性值的個(gè)數(shù)

創(chuàng)新互聯(lián)www.cdcxhl.cn,專(zhuān)業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。

當(dāng)前題目:獲取通訊錄內(nèi)容-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://aaarwkj.com/article8/dpsdip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶(hù)體驗(yàn)、面包屑導(dǎo)航、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站排名、微信小程序全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

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

成都seo排名網(wǎng)站優(yōu)化
成人黄色av网站在线观看 | 午夜精品久久久免费视频| 在线观看亚洲毛片网站| 日本中文字幕一二三四区| 91伊人手机在线观看| 精品久久少妇激情视频| 丝袜在线美腿视频网站| 美女性生活免费视频网站| 人妻人人澡人人添人人爽桃色 | 精品日韩欧美在线观看91| 乱色精品熟女一区二区三区| 五月婷婷六月丁香免费视频| 日本成熟亚洲中文字幕的| 中文字幕精品一区二区三区精品| 日韩精品一区二区三区高清| 成人亚洲精品一区二区三区| 黄色永久网站在线播放| 欧美aⅴ一区二区三区| 亚洲av乱码国产精品观看| 日本欧美高清一区二区| 欧美精品国产精品久久| 日韩视频专区一区二区| 欧美精品一区二区毛卡片| 亚洲少妇午夜福利视频| 久久国产精品亚洲av四虎| 天堂av在线资源观看| 天天日天天天干夜夜操| 偷拍视频一区二区三区| 中文字幕在线感觉av| 久久精品国产亚洲av清纯| 亚洲乱码一区二区在线| 国产欧美日韩另类在线| av天堂资源地址在线观看| 国产精品免费观看在线国产| 我要看国产一级内射片| 日本精品不卡一二三区| 久久精品亚洲精品国产| 亚洲成人精品青青香蕉| 欧美大尺度影片在线观看| 久久久久久久精品久久| 亚洲精品乱码国产妇女毛片|