8
votes

Comment ajouter des données manuellement dans l'entité de données de base

Je travaille sur Données de base pour la première fois. Je viens de créer une entité et pour cette entité. Je souhaite ajouter des lignes sous forme de données (vous pouvez dire que je veux ajouter des données dans une table).

plus tôt lorsque j'utilisais SQLite , j'ajouterais des données à l'aide du terminal . Mais ici dans Données de base Je ne suis pas capable de trouver un moyen de manuellement Ajouter des données. Je veux juste ajouter des données au contexte et l'afficher dans un utableview . J'ai suivi la documentation de Data Core mais cela n'explique pas comment ajouter des données manuellement, bien que cela explique comment je peux l'ajouter de manière programmatique. Mais je n'ai pas besoin de le faire par programme. Je veux le faire manuellement.


4 Réponses :


4
votes

Vous ajoutez des données à une entité sans une sous-classe NSManèdeObject personnalisée associée comme suit: XXX PRE>

Les données de base ne sont pas une base de données de table. C'est un système de gestion de graphique d'objet. En tant que tel, vous traitez des données au sein de données de base en modifiant les attributs d'objets. P>

Dans l'exemple ci-dessus, je modifie la valeur détenue par l'instance MO CODE>, qui est un NSManageDObject générique générique. Parce que MO code> est un NSManageDObject générique IT Utilisez le SETVALUE: FORKEY CODE> Pour stocker la valeur dans le stockage associatif de NsManageDObject. Les noms de clés sont définis par les entités que vous créez dans le modeleur de données. P>

Plus couramment, vous créeriez une sous-classe dédiée NSManageDObject dont les attributs sont les attributs et les relations de l'entité. Dans ce cas, le code ci-dessus ressemblerait à: p>

MyManagedObjectSubclass *myMO = [NSEntityDescription insertNewObjectForEntityForName:@"MyEntity"
inManagedObjectContext:aManagedObjectContext];
myMo.attributeName=aValue;
id anotherValue=myMo.attributeName;


0 commentaires

7
votes

Je suis assez nouveau à Coredata également et je cherchais aussi une solution pour cela. J'étais heureux de trouver un article ici: http://iphoneinaction.manning.com/iphone_in_action/ Data Core-Data sur la manière d'obtenir un fichier CSV et d'importer vos données (Recherchez les données de base, Partie 5: Données pré-remplissantes).

Voici le code que j'utilise:

xxx

i seulement eu une colonne donc je n'avais donc pas besoin de tout le code. Voici le code de l'article. Si cela n'a pas de sens, essayez de regarder l'article.

fichier csv: xxx

code: xxx


Pour répondre à votre commentaire de: Non, je souhaite ajouter des données manuellement, similaires à ce que nous faisons dans SQLite via le terminal ou dans SQL Server à l'aide de SQL Query . Téléchargez Firefox et recherchez un outil add-on nommé SQLITE Manager . Cela vous permettra d'ouvrir n'importe quelle base de données SQLITE, même celles créées par votre application. SQLITE Manager est une interface graphique pour les bases de données SQLITE, similaires à MS SQL Server Management Studio avec moins de fonctionnalités. Vous pouvez afficher, éditer et ajouter des données à travers elle, bien que je recommande d'ajouter des données via cet outil, si vous souhaitez utiliser votre base de données via des données de base. Vous pouvez même utiliser cet outil pour les bases de données SQLITE que vous créerez généralement à travers le terminal (c'est ce que je fais lorsque j'ai besoin de, et quand il n'est pas nécessaire d'utiliser MS SQL).


0 commentaires

0
votes

La meilleure solution pour vous et les utilisateurs de votre application est probablement d'utiliser des données XML. Vous pouvez facilement demander au XML sur un service Web et le stocker dans votre application et ne pas avoir à lire en direct du Web tout le temps. Bien sûr, si vos données sont massives, cela pourrait être un problème, mais vous pouvez également diviser les demandes de données en petits morceaux et stocker simplement ce que vous récupérez pour la réutilisation et peut-être un mode hors connexion.

Ce tutoriel de Björn Sållarp devrait vous aider beaucoup. http://blog.sallarp.com/iphone-core-data- UitailView-Forer-Down /


0 commentaires

0
votes

Je viens de créer un nsmanagedObjectContext , créant ainsi un fichier sqlite dans le dossier de l'application.

Puis, je pourrais alors remplir le fichier SQLITE, tout comme une normale et COREDATA pourrait lire les données pré-remplies.


0 commentaires