核心数据NSFetchRequest问题

时间:2009-08-20 11:47:35

标签: objective-c cocoa core-data

我正在尝试开发测试核心数据应用程序,以便我可以在我的主应用程序中使用它。但是我在获取存储数据时遇到了问题。

我有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];

1 个答案:

答案 0 :(得分:1)

已修复 - 如果您将部件拆分为单独的方法,则一切正常:)