2010-07-27 16 views
7

Ich habe Tutorials in Büchern und auf Webseiten gesehen, die .sqlite-Dateien zum Download anbieten. Die SQLite-Dateien werden für Core Data verwendet..sqlite-Datei aus dem Core Data Store erstellen?

Wie kann ich VON eine App oder Kerndatenspeicher auf auf meinem Desktop erhalten eine .sqlite-Datei?

+1

Wenn Sie nach einer Methode zum Erstellen von CoreData SQLite-Speichern fragen, seien Sie vorsichtig bei Antworten, die SQLite-Tools vorschlagen. Sie müssen eine CoreData-App schreiben oder anpassen, um Daten aus einem anderen Format (z. B. Flatfile, CSV usw.) zu importieren, wahrscheinlich unter Verwendung von 'NSScanner'. – Justin

Antwort

14

Wenn Sie eine vorbereitete sqlite-Datei erstellen, die mit Core Data verwendet werden soll, müssen Sie mit Core Data erstellen. Es ist trivial, eine grundlegende Desktop-Anwendung für die Dateneingabe zu erstellen und diese zum Erstellen der Datei zu verwenden und sie dann in Ihr iOS-Gerät einzubetten.

Versuchen Sie nicht, die Datenstruktur oder Verknüpfung innerhalb der Datei von Hand zu duplizieren. Du wirst es vielleicht zum Laufen bringen, aber du wirst viel mehr Zeit damit verbringen, es zum Laufen zu bringen, und es wird irgendwann scheitern. Die interne Struktur einer Core Data SQLite-Datei sollte wie eine private API betrachtet werden. Die Struktur ist nicht öffentlich und kann ohne vorherige Ankündigung geändert werden.

+0

Bitte erläutern. – Moshe

+6

Er meint, dass die sqlite-Dateien, die Sie herunterladen, selbst von Core Data erstellt wurden. Um Ihre eigenen zu erstellen, richten Sie Ihren Core Data-Stack ein und importieren anschließend Daten dorthin. Während Sie in der Theorie eine SQLite-Datei erstellen könnten, die Core Data von Grund auf nur mit SQL-Befehlen verwenden könnte, ist es in Wirklichkeit eine schwierige und zerbrechliche Art, die Datendatei zu erhalten. Die Core Data SQL-API ist privat und änderbar. Es ist praktisch unmöglich zu duplizieren. Es ist immer einfacher und sauberer, die Datei mit den Core-Daten zu generieren, die Sie zum Lesen der Datei verwenden würden. – TechZen

+0

Also erzeuge ich Core Data Modelle und Klassen in XCode und dann irgendwie eine SQLite-Datei daraus exportieren? Wie das? – Moshe

0

Es gibt ein Befehlszeilenprogramm, das von sqlite.org heruntergeladen werden kann (im Standard-Download), das zum Erstellen einer leeren Datenbank mit einem Schema verwendet werden kann. Normalerweise ist die Datenbankdatei über Betriebssysteme und Geräte hinweg kompatibel.

4

Wenn Sie speziell ein Core Data Store erstellen möchten, verwenden Sie diese Methode:

NSPersistentStoreCoordinator 
    addPersistentStoreWithType:(NSString*)storeType 
    configuration:(NSString*)configuration 
    URL:(NSString*)storeURL 
    options:(NSDictionary*)options 
    error:(NSError**)error 

Sie bereits ein NSManagedObjectModel mit persistenten Speicher Koordinatorobjekt zugeordnet sein muss. Wenn das Geschäft bei storeURL nicht existiert, wird es erstellt; Ansonsten wird es geöffnet.