2010-10-09 53 views
14

我有一个很好的工作iphone应用程序与核心数据。我使用NSFetchedResultsController/NSManagedObjectContext,如各种教程中所述。如何获取NSFetchedResultsController/NSManagedObjectContext的所有条目?

现在我想扩展我的应用程序并添加一些更多的功能。我需要用包含数据信息的对象构建数组。

我以某种方式需要获取我在上下文中所有数据的列表。

我想我可以做一个类似于我得到UITableView数据的方法。

id <NSFetchedResultsSectionInfo> sectionInfo = [[_fetchedResultsController sections] objectAtIndex:section]; 

这一个失败,因为我确实有多个部分。现在,我可以去通过所有部分,并让我自己IndexPath与访问我的数据:

MyData *info = [_fetchedResultsController objectAtIndexPath:indexPath]; 

但我觉得这是我还没有找到,我希望有人能帮助我在这里的另一种方式。

非常感谢。

回答

40

你只是在寻找一种方法来获取你的所有对象NSFetchedResultsController?如果是这样,使用这个。

NSArray *fetchedData = [_fetchedResultsController fetchedObjects]; 

如果你有超过1个实体建立每个实体fetchrequest

。像这样的东西应该会给你所有的东西。

NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:self.entityName inManagedObjectContext:self.managedObjectContext]; 
[request setEntity:entity]; 
NSError *error; 
NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error]; 
1

如果你想获得的所有对象的特定部分,你可以这样做:

NSArray *sectionObjects = [_fetchedResultsController.sections[section_number] objects];