首先,对不起我的英语,我不是母语人士。如果有任何不清楚的地方,请告诉我。
在我的项目中,有一个部分供用户组织联系人,但只有一组特定的联系人。我可以为联系人实现一个自定义结构或类,但苹果的联系人框架几乎是完美的。我还想使用这些设备的通话、短信和电子邮件功能。
所以我在我的 SwiftUI 应用程序中实现了 ContactsUI:
struct addContactUIView : UIViewControllerRepresentable {
func makeCoordinator() -> Coordinator {
return Coordinator(self)
}
class Coordinator: NSObject, CNContactViewControllerDelegate, UINavigationControllerDelegate {
private func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNMutableContact?) {
if let c = contact {
self.parent.contact = c
}
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: CNMutableContact
init(contact: Binding<CNMutableContact>) {
self._contact = contact
}
typealias UIViewControllerType = CNContactViewController
func makeUIViewController(context: UIViewControllerRepresentableContext<addContactUIView>) -> addContactUIView.UIViewControllerType {
let viewController = CNContactViewController(forNewContact: CNContact())
viewController.delegate = context.coordinator
return viewController
}
func updateUIViewController(_ uiViewController: addContactUIView.UIViewControllerType, context: UIViewControllerRepresentableContext<addContactUIView>) {
}
}
ContactsUI 框架为我提供了默认的保存和编辑选项,非常棒。
问题是:如何将新联系人添加到联系人中的特定组?例如“客户”。有一个“addMember”功能,但我应该在哪里实现呢?
我被困在这里,所以我非常感谢任何帮助!