2010-02-24 6 views
2

J'ai une base de données sqlite créée automatiquement par mon modèle CoreData, mais mon application ne donne pas la possibilité à l'utilisateur d'y écrire des données, mais je voulais la pré-remplir avec toutes les données besoins du programme. Mon problème est que la base de données sqlite créée par CoreData a des tables et des champs inconnus qui n'étaient pas présents dans mon modèle. Y at-il de toute façon que je peux remplir la base de données créée automatiquement avec sqlite et seulement ensuite utiliser CoreData pour le lire?Remplissage sqlite db créé par CoreData

Répondre

3

Le magasin sqlite créé par Core Data ne doit pas être modifié directement. Use Core Data to populate it.

+0

Donc je devrais écrire une application juste pour remplir la DB? –

+1

Oui, vous devez créer une petite application pour générer le fichier sqlite Core Data. –

+0

Eh bien, vous * pourriez * le faire depuis votre application principale, si vous détectez que la base de données n'a pas été remplie. Dans le cas contraire, une application de bureau Cocoa basée sur des données de base et non basée sur un document et fonctionnant avec le même modèle de données devrait fonctionner correctement. Utilisez le raccourci glisser-de-modèle-à-IB pour créer une interface de base, puis vous avez une application complète que vous pouvez toujours utiliser pour votre propre développement et votre propre modification, au cas où vos données doivent être modifiées. Cela ne devrait prendre que quelques minutes si vous avez déjà défini votre modèle. Ensuite, il suffit de copier le fichier de base de données qu'il crée dans ~/Library/AppName –

1

Comment avez-vous créé la base de données sqlite originale que vous essayez d'utiliser? Si vous l'avez créé avec Core Data, vous devriez pouvoir le copier dans votre application tant que le modèle est le même.

Vous devez le préremplir à l'aide des données de base. Cela peut être utile www.pragprog.com