如何使用联系人 UI 为 swift 中的现有联系人打开编辑联系人 UI

How to open Edit Contact UI for existing contact in swift using Contact UI

我正在开发 iOS 应用程序,我想在其中使用联系人 UI 在电话簿中添加新联系人。我知道如何为新联系人打开联系人 UI,但我在打开联系人 UI 中的现有联系人进行编辑时遇到困难。

我正在打开新联系人 UI 作为

    let contact = CNMutableContact()
    
    let localizedLabelString = CNLabeledValue<NSString>.localizedString(forLabel: CNLabelPhoneNumberMobile)
    let phoneNumber = CNPhoneNumber(stringValue: contacTNumber )
    let labeledPhoneNumber = CNLabeledValue(label: localizedLabelString, value: phoneNumber)
    contact.phoneNumbers.append(labeledPhoneNumber)
    
    let controller = CNContactViewController(forNewContact: contact)
    controller.delegate = self
    controller.displayedPropertyKeys = [CNContactPhoneNumbersKey, CNContactGivenNameKey]
    let nav = UINavigationController(rootViewController: controller)
    self.present(nav, animated: true, completion: nil)

下面是我要打开的编辑联系人UI。

根据联系人是新联系人、现有联系人还是未知联系人,视图控制器有不同的构造函数。

init(for: CNContact)
Initializes a view controller for an existing contact.

init(forUnknownContact: CNContact)
Initializes a view controller for an unknown contact.

init(forNewContact: CNContact?)
Initializes a view controller for a new contact.

您的代码正在使用 init(forNewContact:)。尝试使用 init(for:)