Свойство parentGroup в CNContactViewController в SwiftUI - PullRequest
0 голосов
/ 13 июля 2020

Я столкнулся с проблемой contactUI contactViewController. Я вызываю contactViewController внутри представления SwiftUI.

Моя проблема: я хочу добавить новый контакт в определенную c группу контактов. Согласно документации Apple, этого можно добиться с помощью свойства parentGroup.

Теперь мне интересно, где бы я объявил это свойство? В приведенном ниже коде вы видите два способа, которые я нашел, где можно объявить это свойство, но, похоже, ни один из них не работает ..

struct addContactUIView : UIViewControllerRepresentable {
func makeCoordinator() -> Coordinator {
    return Coordinator(self)
}

class Coordinator: NSObject, CNContactViewControllerDelegate, UINavigationControllerDelegate {

    func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) {
        if let c = contact {
            self.parent.contact = c
        } 
        // --> here? viewController.parentGroup 
        viewController.dismiss(animated: true)
    }
    
    func contactViewController(_ viewController: CNContactViewController, shouldPerformDefaultActionFor property: CNContactProperty) -> Bool {
        return true
    }

    var parent: addContactUIView

    init(_ parent: addContactUIView) {
        self.parent = parent
    }
}

@Binding var contact: CNContact

init(contact: Binding<CNContact>) {
    self._contact = contact
}

typealias UIViewControllerType = CNContactViewController

func makeUIViewController(context: UIViewControllerRepresentableContext<addContactUIView>) -> addContactUIView.UIViewControllerType {
    let viewController = CNContactViewController(forNewContact: CNContact())
    // --> or here? viewController.parentGroup 
    viewController.delegate = context.coordinator
    
    
    return viewController
}

func updateUIViewController(_ uiViewController: addContactUIView.UIViewControllerType, context: UIViewControllerRepresentableContext<addContactUIView>) {
    
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...