2014-10-29 18 views
6

Google'da ve burada bulduğum kaynakları kullanmama rağmen çözemediğim bir sorunum var. Sadece Swift'e ve Xcode'u bir ay kadar önce nasıl kullanacağımı öğretmeye başladım, bu yüzden çok yeniyim ve sahip olduğum problem muhtemelen başkaları için çok basit.Adres defterine yeni kişi ekleme ve kaydetme

Yapmaya çalıştığım adres defterine yeni bir kişi eklemek ve kaydetmek. Uygulamadan Kişiler uygulamasına sorun yok, yalnızca yeni iletişim bilgilerini kaydedemiyorum.

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) 
    } 
} 

İşte bu benim problem ile ilgilidir kullanıyorum kod. Herhangi bir yardım takdir edilecektir.

cevap

5

Bugünlerde, ContactsUI çerçevesini kullanacaksınız. Yani, Swift 3'te, bunu yapabilirsiniz:

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) 
    } 

} 

Benim asıl cevabı, Swift 2 altındadır içinde AddressBookUI çerçevesini kullanarak.


Swift kodu:

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 bir Yeni Kişi Kayıt bölüm oluşturma Kullanıcının Prompting bakınız.