代码之家  ›  专栏  ›  技术社区  ›  Keith

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

  •  2
  • Keith  · 技术社区  · 6 年前

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

    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)
    

    1 回复  |  直到 6 年前
        1
  •  2
  •   Callam    6 年前

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

    contact.emailAddresses = contactToUpdate.emailAddresses + [homeEmail]
    

    contact.emailAddresses.append(homeEmail)
    

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

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