我正在尝试开发测试核心数据应用程序,以便我可以在我的主应用程序中使用它。但是我在获取存储数据时遇到了问题。
我有1个实体“用户”,有2个属性:name(String)&电子邮件(String) 我可以使用数据成功填充我的商店文件... 这是我在下面使用的代码。 任何帮助将不胜感激。
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:@"jamie@domain.com" 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];
答案 0 :(得分:1)
已修复 - 如果您将部件拆分为单独的方法,则一切正常:)