7
votes

Charger des données dans le schéma de données de base

Je suis en train de mettre en œuvre une application basée sur la navigation. L'utilisateur explosera le nœud d'intérêt. J'utilise des données de base, principalement parce que je veux l'essayer. Comment puis-je charger la base de données initialement? Devrais-je écrire un code personnalisé qui charge la base de données initialement ou existe-t-il un outil pour le faire pour moi?


1 commentaires

Hey Andrei - Parlez-vous de remplir votre base de données SQLite avec des informations ou de charger le modèle de données de base une fois que l'application est exécutée?


3 Réponses :


0
votes

actuellement aussi loin que je sais que vous devez écrire un code personnalisé pour renseigner la base de données.

Cela semble être un inconvénient, j'aimerais vraiment voir un outil pour la pré-population de sources de données par lots (shell) destinée à être utilisée par Coreedata.


0 commentaires

3
votes

Il n'y a pas de méthode automatique (i.e. intégrée) pour importer des données dans un contexte de données de base.

Je soupçonne que ceci est dû au fait que les données de base sont vraiment un cadre de gestion des graphiques d'objet (qui viennent d'être capable de persister que le graphique d'objet sur disque) et que le mappage entre les données et les instances d'objet dépend du schéma (et aura besoin au moins un code).

Si vous avez déjà les données dans un autre format, vous devez lire la section du Guide de programmation de données de base sur Importation de données dans un contexte de données de base . Si vous n'avez pas déjà les données d'un autre format, vous devrez écrire du code de chaque sens (pour générer un format intermédiaire ou pour remplir le contexte directement).

Enfin, bien que ce ne soit pas vraiment une API publique, le format XML de données de base est assez facile à utiliser à la main ou à l'aide de n'importe quel nombre d'outils à base de XML. Selon la complexité de vos données, vous pourrez peut-être inverser le schéma XML suffisamment pour générer un magasin persistant à dos XML. Vous pouvez alors migrer ce magasin vers un magasin SQLite persistant et vous êtes sur votre chemin.


0 commentaires

17
votes

Voici un moyen simple de précharger le magasin de données de base à l'aide de plis. strong>

créer une liste de propriétés contenant une gamme de dictionnaires. Faire les clés de chaque dictionnaire correspondre aux touches de votre objet géré. P>

text alt p>

alors, appelez cette méthode la première fois que l'application lance: p>

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];  
if (![defaults objectForKey:@"firstRun"])
{
    [defaults setObject:[NSDate date] forKey:@"firstRun"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    [self loadDataFromPropertyList];
}


1 commentaires

Merci pour cela, ça fait longtemps que je l'ai utilisé, je reçois une erreur Sigbrt, je ne me souviens pas de ce que je suis censé supprimer la prochaine fois que je le souhaite. Idées?