首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更新数组中的电话联系人单项

更新数组中的电话联系人单项
EN

Stack Overflow用户
提问于 2018-09-30 07:31:28
回答 1查看 80关注 0票数 2

我正在尝试更新iphone联系人中的1个项目。我正在更新电子邮件数组,不想影响数组中的其他数组。

例如,我正在从我的应用程序中更改“家庭”电子邮件地址,但如果他们的手机联系人中也有“工作”电子邮件地址,它会删除它,只添加新的电子邮件地址。我需要将所有其他字段保留在数组中。电话或地址也是如此。

这是我的更新:

代码语言:javascript
复制
let homeEmailEntry : String = email!
let homeEmail = CNLabeledValue(label:CNLabelHome, value:homeEmailEntry as NSString)
contactToUpdate.emailAddresses = [homeEmail]

let saveRequest = CNSaveRequest()
saveRequest.update(contactToUpdate)
try store.execute(saveRequest)

这会添加家庭电子邮件,但会删除工作电子邮件或阵列中的任何其他内容。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-30 07:45:18

您需要将现有电子邮件地址与要添加的新电子邮件地址连接起来。

代码语言:javascript
复制
contact.emailAddresses = contactToUpdate.emailAddresses + [homeEmail]

或者,您也可以附加它。

代码语言:javascript
复制
contact.emailAddresses.append(homeEmail)

如果已经有一个家庭电子邮件地址,我不确定这里会发生什么,但您可以在添加新的电子邮件地址之前删除现有的家庭电子邮件地址。

代码语言:javascript
复制
contact.emailAddresses = contact.emailAddresses.filter({ $0.label != CNLabelHome }) + [homeEmail]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52573369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档