IOS基础知识记录九(调用AddressBook地址博信息)
2016-10-10 21:32
295 查看
手机访问地址薄
1.首先加入包AddressBookUI、AddressBook并引入类。其次加入地址薄调用遵循的协议
2.实现协议的部分方法,用来处理选择地址薄信息或者关闭地址操作等
3.解析选择的地址薄信息
1.首先加入包AddressBookUI、AddressBook并引入类。其次加入地址薄调用遵循的协议
#import <AddressBookUI/AddressBookUI.h> #import <AddressBook/AddressBook.h> //协议 ABPeoplePickerNavigationControllerDelegate
2.实现协议的部分方法,用来处理选择地址薄信息或者关闭地址操作等
//当地址关闭时处理部分信息: 如果关闭模态等,在第七记录中已经写过 -(void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker //处理选择地址薄后怎么解析person信息 -(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
3.解析选择的地址薄信息
-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person { NSString *firstName, *lastName; //对于地址薄中的firstName, lastName都是唯一的不会重复,故直接转化字符串 firstName = (__bridge NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty); lastName = (__bridge NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty); //电话是多个, 要用数组来处理 ABMultiValueRef telRef; telRef = ABRecordCopyValue(person, kABPersonPhoneProperty); if (ABMultiValueGetCount(telRef) > 0) { NSString * tel = (__bridge NSString *)ABMultiValueCopyValueAtIndex(telRef, 1); } //Email 和电话类似 ABMultiValueRef emailRef; emailRef = ABRecordCopyValue(person, kABPersonEmailProperty); if (ABMultiValueGetCount(emailRef) > 0) { email.text = (__bridge NSString *)ABMultiValueCopyValueAtIndex(emailRef, 0); } //而相对于地址来说比较复杂。 地址信息包含信息量比较大 ABMultiValueRef addressRef; NSDictionary *addressDic; NSString *zipCode; addressRef = ABRecordCopyValue(person, kABPersonAddressProperty); if (ABMultiValueGetCount(addressRef) > 0) { addressDic = (__bridge NSDictionary *)ABMultiValueCopyValueAtIndex(addressRef, 0); zipCode = [addressDic objectForKey: @"ZIP"]; } //关闭模态 [self dismissViewControllerAnimated: YES completion: nil]; return NO; }
相关文章推荐
- IOS基础知识记录十(调用Google Map)
- IOS基础知识记录二
- IOS基础知识记录七(iphone手机横屏、竖屏)
- IOS基础知识记录三(modal模态切换)
- IOS基础知识记录五(简单手电筒)
- unity基础开发----Unity获取PC,Ios系统的mac地址等信息
- IOS基础知识记录六(读写文件)
- IOS基础知识记录九(Page Scroll)
- IOS基础知识记录四(Master-Detail Application)
- IOS基础知识记录(转载)
- IOS基础知识记录一
- IOS基础知识记录八(手机相机或者图片库)
- SQL Server 索引基础知识(1)--- 记录数据的基本格式 (转)
- JQ 调用后台方法即Ajax方法基础知识
- java基础知识记录--String类 (摘自张孝祥整理java面试题)
- java基础知识记录--异常 (摘自张孝祥整理java面试题)
- WinPcap基础知识(第五课:过滤信息)
- java基础知识记录--内部类(摘自张孝祥整理java面试题)
- java基础知识记录--集合 (摘自张孝祥整理java面试题)
- java基础知识记录--基本语法 (摘自张孝祥整理java面试题)