小编Bay*_*ell的帖子

如何在Swift中获取CNContact电话号码作为字符串?

我正在尝试检索所有联系人的姓名和电话号码,并在iOS中使用Swift将它们放入数组中.我做到了这一点:

func findContacts() -> [CNContact] {

    marrContactsNumber.removeAllObjects()
    marrContactsName.removeAllObjects()

    let store = CNContactStore()

    let keysToFetch = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey]

    let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch)

    var contacts = [CNContact]()

    do {
        try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in
            contacts.append(contact)

            self.marrContactsName.addObject(contact.givenName + " " + contact.familyName)

            self.marrContactsNumber.addObject(contact.phoneNumbers)

            print(contact.phoneNumbers)
    }
    catch let error as NSError {
        print(error.localizedDescription)
    }

    print(marrContactsName.count)
    print(marrContactsNumber.count)

    return contacts
}
Run Code Online (Sandbox Code Playgroud)

完成后,marrContactsName将完全按预期包含所有联系人姓名的数组.即"John Doe".但是,marrContactsNumber返回一个值数组,如

[<CNLabeledValue: 0x158a19950: identifier=F831DC7E-5896-420F-AE46-489F6C14DA6E,
label=_$!<Work>!$_, value=<CNPhoneNumber: 0x158a19640: countryCode=us, digits=6751420000>>,
<CNLabeledValue: 0x158a19a80: identifier=ECD66568-C6DD-441D-9448-BDEDDE9A68E1, …
Run Code Online (Sandbox Code Playgroud)

contacts addressbook ios swift ios9

29
推荐指数
3
解决办法
3万
查看次数

Swift:如何将一个字符串数组拆分成多个匹配值数组?

假设我有一组值(按字母顺序排列),例如[A, B, B, B, D, G, G, H, M, M, M, M, Z]表示用户的姓氏.我期待创建表的索引,那么什么是分离这样一个数组(任意数量的与字母表中的所有字母开头的姓氏的用户)到阵列,如最好的方式[A] [B, B, B] [D] [G, G] [H] [M, M, M, M] [Z],这似乎是最好的办法为具有多个部分的表创建值,其中用户以姓氏分隔.谢谢你的帮助!

arrays sorting uitableview swift swift2

4
推荐指数
1
解决办法
3905
查看次数

标签 统计

swift ×2

addressbook ×1

arrays ×1

contacts ×1

ios ×1

ios9 ×1

sorting ×1

swift2 ×1

uitableview ×1