2014-10-29 17 views
6

Ich habe ein Problem, das ich scheinbar nicht lösen kann, obwohl ich die Ressourcen verwendet habe, die ich bei Google und hier gefunden habe. Ich habe erst vor ungefähr einem Monat begonnen, Swift zu unterrichten und wie ich Xcode benutze, daher bin ich sehr neu und das Problem, das ich habe, ist wahrscheinlich sehr einfach für andere.Neuen Kontakt zu Adressbuch hinzufügen und speichern

Ich versuche, einen neuen Kontakt zum Adressbuch hinzuzufügen und zu speichern. Ich kann von der App zur Kontakt App kein Problem bekommen, ich kann nur die neuen Kontaktinformationen nicht speichern.

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

Hier ist der Code, den ich verwende, der sich auf mein Problem bezieht. Jede Hilfe wird geschätzt.

Antwort

5

Heutzutage würden Sie ContactsUI Framework verwenden. Also, in Swift 3, könnten Sie tun:

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

} 

Meine ursprüngliche Antwort, mit AddressBookUI Rahmen in Swift 2 ist unten.


Der Swift-Code ist:

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

die Siehe Benutzerführung Neue Person Akte Abschnitt des Address Book Programming Guide: User Interaction: Prompting for and Displaying Data zu erstellen.