使用多部无法使用 swift 3 的手机创建新联系人
create new contact with multiple phones not working on swift 3
我想与多个 phone 建立新的联系。我不知道为什么,但我的 swift 代码只创建了 1 个 phone 号码。
与创建新联系人相关的示例很少,所以我想我的问题会对其他人有所帮助。
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)
}
谢谢
我使用示例代码 Programming-iOS-Book-Examples written by 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])))
感谢 Matt Neuburg 的评论和出色的编码!
我想与多个 phone 建立新的联系。我不知道为什么,但我的 swift 代码只创建了 1 个 phone 号码。 与创建新联系人相关的示例很少,所以我想我的问题会对其他人有所帮助。
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)
}
谢谢
我使用示例代码 Programming-iOS-Book-Examples written by 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])))
感谢 Matt Neuburg 的评论和出色的编码!