2014-10-29 82 views
6

我有一個問題,即使使用了我在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) 
    } 
} 

這是我使用的代碼與我的問題有關。任何援助將不勝感激。

回答

5

如今,你會使用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的新的個人記錄部分。

相關問題