Frage

Ich arbeite an einem Core Data-App (für iPhone 3.0, obwohl ich glaube nicht, dass wirklich einen Unterschied macht hier), und es wird mit einer „Starter“ Datenbank mit Daten gefüllt zu transportieren. Mit SQLite, hätte ich nur die App die besiedelte Datenbank aus dem Bündel in das Dokumentenverzeichnis des App kopiert beim ersten Start und dann diese Datenbank laden - alle Informationen würden mit ihm kommen und wir würden wir bereit zu gehen. Aber mit Core Data, ich bin nicht wirklich sicher, ob ich nur den permanenten Speicher auf das Bündel App speichern und kopieren Sie ihn, bevor mit Core Data beginnen, ihre Sache zu tun. Wird dies Probleme verursachen? Es gibt ziemlich viele Anfangsdaten, so dass ich nicht will, dass es in einem anderen Format zu verpacken und haben, um durch sie zu analysieren.

War es hilfreich?

Lösung

Ja, können Sie eine vorausgefüllte persistenten Speicher kopieren über.

Ich habe eine Mac-Anwendung, die einen Speicher auffüllt. Er ist in mein Bündel kopiert und beim Start auf das Docs-Verzeichnis kopiert. Dies funktioniert gut. Ich bin das Core Data Books Beispiel gesagt wurde die gleiche Art und Weise entwickelt.

Bitte beachten Sie, das Sie nicht bedeuten können, kopieren Sie einfach über jede alte SQLite-Datei. Es hat einen Core Data persistenten Speicher sein, obwohl ich der Meinung, dass auf Ihre Frage basiert verstehen.

Andere Tipps

Eigentlich gibt es einen Trick: Sie benennen Sie die Datei müssen Sie mit einer anderen Erweiterung als „.sqlite“ kopieren Sie gehen zu „.bin“ zu tun. Ansonsten Xcode wird der Inhalt der Datei ändern, wenn es kopiert sie in die App während der Aufbauphase, und es wird nicht geladen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top