【问题标题】:iOS Swift 3 - delete contact information field AnniversaryiOS Swift 3 - 删除联系信息字段周年纪念日
【发布时间】:2016-11-25 10:38:25
【问题描述】:

是否可以在 Swift 3 中批量删除特定联系人选择中的周年纪念字段?

我找到了将周年纪念信息添加到联系人的代码,但我正在寻找用于从特定联系人中删除现有周年纪念信息的代码。

要添加的示例:

//add anniversary
let anniversaryDate = NSDateComponents()
anniversaryDate.month = 6
anniversaryDate.day = 13
let anniversary = CNLabeledValue(label: "Anniversary",
  value: anniversaryDate)
fooBar.dates = [anniversary]

//save
let request = CNSaveRequest()
request.addContact(fooBar, toContainerWithIdentifier: nil)
do{
  try storeo.executeSaveRequest(request)
  print("Successfully stored the contact")
} catch let err{
  print("Failed to save the contact. \(err)")
}

【问题讨论】:

    标签: swift contact


    【解决方案1】:

    您可以过滤日期,然后更新联系人。

    let mutableContact = contact.mutableCopy() as! CNMutableContact
    
    let dates = mutableContact.dates.filter({ $0.label != "Anniversary" })
    
    mutableContact.dates = dates
    
    let request = CNSaveRequest()
    request.updateContact(mutableContact)
    
    do {
    
        try contactStore.executeSaveRequest(request)
    
    } catch let error {
    
        print("Failed to updated contact. \(error)")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多