添加和保存地址簿的新联系人
问题描述:
我有一个问题,即使使用了我在Google和Google上找到的资源,我仍然无法解决问题。我刚刚开始在一个月前开始接受Swift教授以及如何使用Xcode,因此,我很新,而且我遇到的问题可能对其他人很简单。添加和保存地址簿的新联系人
我想要做的就是添加并保存新的联系人地址簿。我可以从应用程序获得联系人应用程序没有问题,这只是我无法保存新的联系人信息。
import AddressBookUI
import AddressBook
class ViewController: UIViewController {
@IBOutlet weak var contactLink: UIButton!
@IBAction func contactLink(sender: AnyObject) {
var viewController: ABNewPersonViewController = ABNewPersonViewController()
self.presentViewController(viewController, animated: true, completion: nil)
}
}
这是我使用的代码与我的问题有关。任何援助将不胜感激。
答
如今,你会使用ContactsUI
框架。所以,在斯威夫特3,你可以这样做:
import ContactsUI
class ViewController: UIViewController, CNContactViewControllerDelegate {
@IBAction func contactLink(_ sender: AnyObject) {
let controller = CNContactViewController(forNewContact: nil)
controller.delegate = self
let navigationController = UINavigationController(rootViewController: controller)
self.present(navigationController, animated: true)
}
func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) {
viewController.navigationController?.dismiss(animated: true)
}
}
我原来的答案,用AddressBookUI
框架斯威夫特2如下。
雨燕代码:
import AddressBookUI
class ViewController: UIViewController, ABNewPersonViewControllerDelegate {
@IBAction func contactLink(sender: AnyObject) {
let controller = ABNewPersonViewController()
controller.newPersonViewDelegate = self
let navigationController = UINavigationController(rootViewController: controller)
self.presentViewController(navigationController, animated: true, completion: nil)
}
func newPersonViewController(newPersonView: ABNewPersonViewController!, didCompleteWithNewPerson person: ABRecord!) {
newPersonView.navigationController?.dismissViewControllerAnimated(true, completion: nil);
}
}
见提示用户创建Address Book Programming Guide: User Interaction: Prompting for and Displaying Data的新的个人记录部分。