我已经在核心数据中执行了保存操作并且已成功完成。它存储了数据。我还将数据提取到日志中。这是我在日志中获取数据的代码,但我不知道如何在TableView中获取这些数据。
NSError *error;
DemoAppCoreDataAppDelegate *appdelegate = (DemoAppCoreDataAppDelegate *)[[UIApplication sharedApplication]delegate];
NSManagedObjectContext *context = [appdelegate managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]init];
NSEntityDescription *entity = [NSEntityDescription entityForName: @"Employee" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedobject = [context executeFetchRequest:fetchRequest error:&error];
tablearray = [[NSMutableArray alloc] initWithArray:fetchedobject copyItems:YES];
for (NSManagedObject *info in fetchedobject ) {
NSLog(@ "%@",[info valueForKey:@"name"] );
}
[fetchRequest release];
答案 0 :(得分:5)
我建议使用NSFetchedResultsController
。
Apple在NSFetchedResultsController
documentation
NSFetchedResultsController
专门用于在tableView和Core Data之间工作。它使一切变得更加容易
例如,当您从核心数据添加或删除对象时,它将自动插入和删除行。为此,您必须实现NSFetchedResultsControllerDelegate
协议。完整的示例代码位于protocol documentation
答案 1 :(得分:1)
将fetchedobject
用作dataSource
到tableView。
在[fetchRequest release];
之后,以编程方式设置tableView的委托和数据源。
答案 2 :(得分:0)
在这种情况下,最好的方法是检查我认为的一些工作示例。看一下苹果的示例项目Recipies,好一点顺便说一句:简单并且能够很好地了解CoreData和tableViews应该如何完成: