2011-06-28 3 views
0

Je regarde/je fais le cours iTunes U Stanford iPhone. (fourni gratuitement!). Je suis sur le programme des paparazzi essayant de comprendre Core Data.Aide CoreData --- comment déboguer?

Ci-dessous est la façon dont je sauvegarde les données dans les données de base, comment puis-je vérifier que ces informations ont réellement été enregistrées?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    FlickrFetcher *ff = [FlickrFetcher sharedInstance]; 

    if (![ff databaseExists]) 
    { 
     NSString *path = [[NSBundle mainBundle] pathForResource:@"FakeData" ofType:@"plist"]; 
     NSArray *data = [NSArray arrayWithContentsOfFile: path]; 
     NSManagedObjectContext *managedObjectContext = [ff managedObjectContext]; 
     NSError *error = nil; 

     for (NSDictionary *row in data) 
     { 
      Person *person = (Person *)[NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:managedObjectContext]; 
      Photo *photo = (Photo *)[NSEntityDescription insertNewObjectForEntityForName:@"Photo" inManagedObjectContext:managedObjectContext]; 

      photo.name = [row objectForKey:@"name"]; 
      photo.url = [row objectForKey:@"path"]; 
      person.name = [row objectForKey:@"user"]; 

      [person addPhotosObject:photo]; 
     } 

     [managedObjectContext save:&error]; 
    } 

Répondre

0

Dans votre code vous vérifier si error est nil après avoir envoyé le message save: au managedObjectContext, ou bien, si la valeur de retour de cette expression est YES. Si c'est le cas, cela signifie qu'il n'y a pas eu d'erreur lors de l'enregistrement de vos modifications dans le contexte.

Si vous voulez juste vérifier manuellement (par exemple, après avoir déjà exécuté le code précédemment), vous pouvez bien sûr simplement ouvrir la base de données SQLite dans un navigateur et vérifier que les données sont là. SQLite Manager l'extension pour Firefox est un bon outil pour cela.

+0

Où se trouve la base de données sqllite? –

+0

Je l'ai trouvé dans ~/Bibliothèque/Application Support/iPhone Simulator/4.3.2/Applications/UUID/Documents –