2012-03-26 6 views
0

Ich möchte einige Kontaktinformationen speichern und dem Benutzer erlauben, die Person anzurufen/zu mailen, anstatt nur die Informationen nachzuschlagen. Ich möchte jedoch nicht, dass die Kontakte im Adressbuch des Benutzers in ihren Kontakten gespeichert werden. Ich möchte es nur in der App behalten. Kann ich ABAddressBook dafür verwenden oder muss ich dafür eigene Klassen erstellen?IOS: Kann ich ABAddressBook verwenden, um Kontaktinformationen außerhalb der Kontakte des iPhones zu speichern?

Antwort

2

Ich werde sowohl Ihre Fragen beantworten:

Kann ich ABAddressBook für diesen Einsatz?

Sie können ABAddressBook nicht zum Speichern einer separaten Kontaktdatenbank verwenden. Hier ist ein Auszug aus den ABAddressBook Class Reference:

Die ABAddressBook-Klasse stellt eine Programmierschnittstelle zur Adressbuch-einer zentralen Datenbank von mehreren Anwendungen verwendet speichern Kontakt und andere persönliche Informationen über Personen.

Die Datenbank, auf die hier verwiesen wird, ist eine vordefinierte Datenbank; Es gibt keine Methode oder Klasse, um eine neue zu erstellen, da das gesamte Adressbuch-Framework Zugriff auf eine einzige Datenbank bietet, auf die der Benutzer über die Anwendung Kontakte zugreifen kann.

Muss ich meine eigenen Klassen erstellen, um dies zu erreichen?

Sie müssten dafür eine benutzerdefinierte Klasse erstellen. Wenn Sie Benutzer mit vielen, vielen Kontakten (im Bereich Tausender/hoher Hunderter) unterstützen möchten, verwenden Sie wahrscheinlich eine SQLite-Datenbank. Wenn Sie Benutzer mit wenigen Kontakten unterstützen möchten, sollten Sie wahrscheinlich eine .plist verwenden.

Normalerweise verwenden Objective-C-Programmierer die C-Bibliothek für SQLite direkt, aber jetzt gibt es einen großen Wrapper, den Sie here namens FMDB finden können. Weitere Informationen zur Syntax und zu den Grundlagen von SQLite finden Sie unter SQLite Language Guide.

Schließlich, hier sind ein paar Bücher auf SQLite und Datenbank-Programmierung für iOS:

hoffe, das hilft!

+0

Sicher getan! Habe ein paar Dinge aufgehoben, danke! Kurze Frage aber ... warum empfiehlst du FMDB über Core Data ... oder sind das getrennte Sachen? Vielen Dank! – daveomcd

+1

@daveomcd FMDB ist ein Wrapper um SQLite, während Core Data eine völlig andere Art ist, Daten zu persistieren. Also ja, das sind ganz andere Dinge. – pasawaya

Verwandte Themen