繁体   English   中英

更新现有的“联系人”电话号码?

[英]Update existing 'Contacts' Phone number?

我有代码可以从联系人中获取和显示用户数据(各种名称属性以及电话号码数组)。 通过创建CNMutableContact,我可以更新任何Name属性。 但是我只能显示电话号码(通过“ .digits”来自CNLabeledValue)。 是否可以更新电话号码? 我不能在CNMutableContact中更改“数字”,因为它是“只读”的。 我已经看到并理解了访问CNLabeledValue“数字”时的注意事项,但仍想继续。

建议?

也许回答这个问题有点晚了。 但是,在给定的示例中,您只能添加电话号码。 因此,要更新电话,充其量,您将取代删除电话号码并添加新电话号码。

用这种方法替换电话号码条目将导致更改电话号码的标识符

这不应该是您期望的行为,因为您正在更改现有条目的电话号码。 并且我们希望保持电话标识符不变。

您应该使用settingValue从CNLabeledValue 看到: 苹果文档

// Clone to a mutable contact
let mutableContact = contact.mutableCopy() as! CNMutableContact

// Here's the catch
let updatedPhone = mutableContact.phoneNumbers[0].settingValue(CNPhoneNumber(stringValue: "newPhone"))

// Be aware that in this example, I only have on phone number. For multiple phones, would need to handle multiple phones properly in the array.
mutableContact.phoneNumbers = [updatedPhone]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM