создать новый контакт с несколькими телефонами, не работающими на Swift 3 - PullRequest
0 голосов
/ 21 мая 2018

Я хочу создать новый контакт с несколькими телефонами.Я не знаю почему, но мой быстрый код создает только 1 номер телефона.Есть несколько примеров, связанных с созданием нового контакта, поэтому я думаю, мой вопрос поможет другим.

private func createNewContact(myContact : AgregarContactoViewModel) {
    let store = CNContactStore()
    let contact = CNMutableContact()

    // Name
    contact.familyName = myContact.getName()

    // Phones
    for i in (0..<myContact.getPhones().count) {
       let phone = CNLabeledValue(label: CNLabelOther, value: CNPhoneNumber(stringValue: myContact.getPhones()[i]))
       contact.phoneNumbers.append(phone)
    }

    // Call the controller and create new contact
    let controller = CNContactViewController(forNewContact : contact)
    controller.contactStore = store
    controller.delegate = self
    self.navigationController?.setNavigationBarHidden(false, animated: true)
    self.navigationController?.pushViewController(controller, animated: true)
}

Спасибо

1 Ответ

0 голосов
/ 21 мая 2018

Я нашел решение, используя пример кода Programming-iOS-Book-examples , написанный Matt Neuburg :

Вместо

let phone = CNLabeledValue(label: CNLabelOther, value: CNPhoneNumber(stringValue: myContact.getPhones()[i]))
   contact.phoneNumbers.append(phone)

решение было:

   contact.phoneNumbers.append(CNLabeledValue(label: "phone", value: CNPhoneNumber(stringValue: myContact.getPhones()[i])))

Спасибо Мэтту Нойбургу за ваши комментарии и хорошее кодирование!

...