找回密码
 立即注册
搜索

本文来自

iOS开发交流区

iOS开发交流区

人已关注

请添加对本版块的简短描述

ios9 里的CNContactFetchReques获取通讯录的信息,怎么用

[复制链接]

1

主题

3

帖子

23

积分

新手上路

Rank: 1

积分
23
QQ
117 funny714 发表于 2018-5-20 23:45:46
ios9 里的CNContactFetchReques获取通讯录的信息,怎么用,看了官方文档全是一些 介绍文档,没看出啥东西来
我想用CNContactFetchReques获取到通讯录的信息,联系人数量等等。




上一篇:iOS 11调用NEHotspotConfiguration 时会出现“无线局域网的密码不正确” ...
下一篇:APP制作大神们,我想做一个手机社交APP求大神指点
楼主热帖
qq814522978 发表于 2018-5-21 02:22:38
您好,虽然得到了我想要的结果,但是我不明白,因为这里使用了 block(闭包) 那么结果应该是异步得到的,怎么能在闭包外直接得到结果的呢?
回复

使用道具 举报

jiayubao2003 发表于 2018-5-21 03:34:47
看来没人会了
回复

使用道具 举报

drink0623 发表于 2018-5-21 04:09:53
求关注啊啊
回复

使用道具 举报

nanyou_1984 发表于 2018-5-21 04:41:31
ios9 里的CNContactFetchReques获取通讯录的信息,怎么用,看了官方文档全是一些 介绍文档,没看出啥东西来
我想用CNContactFetchReques获取到通讯录的信息,联系人数量等等。
回复

使用道具 举报

zixu 发表于 2018-5-21 04:48:44
//
//  ContactsTool.swift
//  Dialing4IOS
//
//  Created by kukei on 15/9/23.
//  Copyright © 2015年 kukei. All rights reserved.
//
import Foundation
import Contacts
import ContactsUI
func findContacts() -> [Contact] {
   
    let store = CNContactStore()
    let keysToFetch = [CNContactFormatter.descriptorForRequiredKeysForStyle(.FullName),
        CNContactImageDataKey,
        CNContactPhoneNumbersKey]
   
    let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch)
   
    var cncontacts = [CNContact]()
   
    do {
        try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in
            cncontacts.append(contact)
        })
    }
    catch let error as NSError {
        print(error.localizedDescription)
        
    }
   
    var contacts = [Contact]()
    for cnc in cncontacts {
        for number in cnc.phoneNumbers {
            let c = Contact()
            c.fullName = cnc.familyName+cnc.givenName
            let phoneNumber = number.value as! CNPhoneNumber
            c.phone = phoneNumber.stringValue
            contacts.append(c)
        }
    }
    return contacts
   
}
回复

使用道具 举报

modeerf 发表于 2018-5-21 05:54:28
* @discussion This method will wait until the enumeration is finished. If there are no results the block is not called and YES is returned.
看了方法注释原来是这样
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则