iphone - 如何获取 NSFetchedResultsController/NSManagedObjectContext 的所有条目?

标签 iphone core-data nsmanagedobjectcontext

我有一个很好用的 iPhone 应用程序,可以处理核心数据。我使用 NSFetchedResultsController/NSManagedObjectContext,如各种教程中所述。

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

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

我想我可以采用类似于获取 UITableView 数据的方法。

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

这个失败了,因为我实际上有多个部分。现在我可以浏览所有部分并创建自己的 IndexPath 来访问我的数据:

MyData *info = [_fetchedResultsController objectAtIndexPath:indexPath];

但我认为还有另一种方法我还没有找到,我希望有人可以帮助我。

非常感谢。

最佳答案

您只是在寻找一种从 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];

关于iphone - 如何获取 NSFetchedResultsController/NSManagedObjectContext 的所有条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3898231/

相关文章:

iphone - iOS:我可以覆盖 UIScrollView 的收缩/收缩行为吗?

ios - 在 UITableViewCell 中添加多个 UITableView

ios - 保存 Int Array CoreData Swift 3 的最干净方法

iphone - 如何不保留从 NSManagedObjectContext 检索到的 NSManagedObjects

objective-c - NSManagedObjectContext 重置和回滚有什么区别?

iphone - TableView didSelectRowAtIndexPath : Activity indicator not showing properly

iphone - 是否有某种方便的解决方案来避免将 NSNumber 显式转换为 int?

core-data - 什么是 Core Data 的 .omo 文件?是必需的吗?

iphone - 是需要一个单独的 NSManagedObjectContext 来回滚用户的 coredata 更改不好吗?

iphone - 发送短信时,应用程序崩溃