从核心数据填充Tableview

时间:2011-12-16 10:29:42

标签: iphone uitableview core-data

我已经在核心数据中执行了保存操作并且已成功完成。它存储了数据。我还将数据提取到日志中。这是我在日志中获取数据的代码,但我不知道如何在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];

3 个答案:

答案 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应该如何完成:

http://developer.apple.com/library/ios/#samplecode/iPhoneCoreDataRecipes/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008913