2009-08-20 9 views
0

Je suis en train de développer une application de base de données de test afin que je puisse l'utiliser dans mon application principale. Mais j'ai des problèmes pour récupérer les données stockées.Core Data NSFetchRequest problème

Je 1 Entité « Utilisateur » avec 2 attributs: nom (String) & email (String) Je peux remplir avec succès mon dossier de magasin avec des données ... est ici le code im en utilisant ci-dessous. Toute aide serait grandement appréciée.

NSManagedObjectContext *managedObjectContext; 
NSError *error; 

NSString *basePath = @"/Users/Jamie/Desktop"; 
NSURL *storePath = [NSURL fileURLWithPath: [basePath stringByAppendingPathComponent:@"datastore.xml"]]; 

NSLog(@"Data Store path: %@", storePath); 

NSPersistentStoreCoordinator *persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[NSManagedObjectModel mergedModelFromBundles:nil]]; 
if(![persistentStoreCoordinator addPersistentStoreWithType:NSXMLStoreType configuration:nil URL:storePath options:nil error:&error]) { 
    NSLog(@"Unable to load Core Data Store"); 
    NSLog(@"ERROR: %@", error); 
    return 1; 
} else { 
    NSLog(@"Loaded Core Data Store"); 
} 

managedObjectContext = [[NSManagedObjectContext alloc] init]; 
[managedObjectContext setPersistentStoreCoordinator:persistentStoreCoordinator]; 

// Add data to store. 
/* 
NSManagedObject *mo = [NSEntityDescription insertNewObjectForEntityForName:@"User" inManagedObjectContext:managedObjectContext]; 
[mo setValue:@"jamie" forKey:@"name"]; 
[mo setValue:@"[email protected]" forKey:@"email"]; 
if([managedObjectContext save:&error]) { 
    NSLog(@"Saved data to store"); 
} else { 
    NSLog(@"Unable to save data to store"); 
    NSLog(@"ERROR: %@", error); 
} 
*/ 

// Fetch all the data - not worrying about using a predicate. 
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"User" inManagedObjectContext:managedObjectContext]; 
NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
[request setEntity:entityDescription]; 

NSArray *results = [managedObjectContext executeFetchRequest:request error:&error]; 

Répondre

1

fixe - Si vous divisez les parties en méthodes séparées il toutes les œuvres :)

Questions connexes