【问题标题】:Populating the Tableview from the Core Data从核心数据填充表格视图
【发布时间】:2011-12-16 10:29:41
【问题描述】:

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

【问题讨论】:

    标签: iphone uitableview core-data


    【解决方案1】:

    我建议使用NSFetchedResultsController

    苹果在NSFetchedResultsController documentation中提供了完整的示例代码

    NSFetchedResultsController 专门设计用于在 tableView 和 Core Data 之间工作。它使一切变得容易得多。
    例如,当您从核心数据中添加或删除对象时,它会自动插入和删除行。为此,您必须实现NSFetchedResultsControllerDelegate 协议。完整的示例代码在protocol documentation

    【讨论】:

      【解决方案2】:

      fetchedobject 用作dataSource 到tableView。

      [fetchRequest release]; 之后,以编程方式设置 tableView 的委托和数据源。

      【讨论】:

        【解决方案3】:

        在这种情况下,最好的方法是检查我认为的一些工作示例。看看苹果的示例项目 Recipies,顺便说一句:很简单,并且很好地展示了 CoreData 和 tableViews 应该如何完成的事情:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多