Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS仅获取具有电子邮件地址的联系人_Ios_Swift - Fatal编程技术网

iOS仅获取具有电子邮件地址的联系人

iOS仅获取具有电子邮件地址的联系人,ios,swift,Ios,Swift,我找不到苹果联系人框架的正确参考,所以我正在努力解决这个问题,我需要用至少有一个电子邮件地址的联系人填充TableView,ContactsPickerController不是解决方案,我需要在viewDidLoad()处填充TableView。任何人都可以为我的问题提供解决方案。您可以这样联系: 参考-> 此contact对象的类型为CNContact,它有一个emailAddresses属性,该属性是联系人的标记电子邮件地址数组 苹果参考:->检查此项,然后将它们全部取出来。然后仅显示带有电

我找不到苹果联系人框架的正确参考,所以我正在努力解决这个问题,我需要用至少有一个电子邮件地址的联系人填充TableView,ContactsPickerController不是解决方案,我需要在
viewDidLoad()处填充TableView。任何人都可以为我的问题提供解决方案。

您可以这样联系:

参考->

contact
对象的类型为
CNContact
,它有一个
emailAddresses
属性,该属性是联系人的标记电子邮件地址数组


苹果参考:->

检查此项,然后将它们全部取出来。然后仅显示带有电子邮件地址的邮件。
var contacts = [CNContact]()
let keys = [CNContactFormatter.descriptorForRequiredKeysForStyle(.FullName)]
let request = CNContactFetchRequest(keysToFetch: keys)

do {
    try self.contactStore.enumerateContactsWithFetchRequest(request) {             
        (contact, stop) in
        // Array containing all unified contacts from everywhere
        contacts.append(contact)
    }
} 
catch {
    print("unable to fetch contacts")
}