gpt4 book ai didi

swift - 更新数组中的电话联系单项

转载 作者:可可西里 更新时间:2023-11-01 01:08:21 25 4
gpt4 key购买 nike

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

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

这是我的更新:

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)

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

最佳答案

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

contact.emailAddresses = contactToUpdate.emailAddresses + [homeEmail]

或者,您可以附加它。

contact.emailAddresses.append(homeEmail)

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

contact.emailAddresses = contact.emailAddresses.filter({ $0.label != CNLabelHome }) + [homeEmail]

关于swift - 更新数组中的电话联系单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52573369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com