Introduction:
这个类为获取通讯录定义了一些选项。必须通过通讯录属性的key来获取通讯录的各个属性。使用enumerateContactsWithFetchRequest:error:usingBlock: 这个方法来执行获取通讯录的请求。
Contact Fetching Options获取通讯录的选项
1)mutableObjects
bool值表示是否返回一个可变的通讯录
@property(nonatomic) BOOL mutableObjects
Discussion
当返回yes,则返回CNMutableContact对象,否则返回CNContact 对象。默认返回NO。
2)unifyResults
bool值表示将返回一个统一标准的通讯录
@property(nonatomic) BOOL unifyResults
Discussion
统一标准的通讯录的意思是:来自个人通讯录的属性的集合。如果返回yes,将返回一个统一标准的通讯录,否则的话将返回个人的通讯录。默认返回YES.
3)sortOrder
通讯录的排序方式
@property(nonatomic) CNContactSortOrder sortOrder
Discussion
默认排序方式CNContactSortOrderNone.
Keys Used in Fetching Contacts用来获取通讯录的key
1)- initWithKeysToFetch:
Designated Initializer
指定的通过特定的key来初始化的方法
参数
- keysToFetch
- 用来查找通讯录的属于通讯录属性的key或者key descriptors
返回值
返回CNContactFetchRequest 初始化好的实例
Discussion
是CNContactFetchRequest这个类的初始化方法,使用init初始化将会报错。
2)keysToFetch
要想查找的通讯录的属性
@property(copy, nonatomic) NSArray
Discussion
用来查找的通讯录属性里面的属性key或者key descriptors的数组。例如,CNContactEmailAddressesKey, CNContactPhoneNumbersKey, CNContactFormatterStyleFullName 就是查找通讯录的电子邮件,电话号码,全名。
3)predicate
用来匹配通讯录的谓词
@property(copy, nonatomic) NSPredicate *predicate
Discussion
设置这个属性为nil将匹配所有的通讯录或者使用 CNContact 类中的谓词,不支持合成的谓词。
下面上代码
1 | CNContactStore *store = [[CNContactStore alloc] init]; |