Iphone NSFetchedResultsController的替代方案?

Iphone NSFetchedResultsController的替代方案?,iphone,objective-c,ios,core-data,Iphone,Objective C,Ios,Core Data,目前我有一个UITableView,其数据源是一个NSFetchedResultsController。NSFetchedResultsController所做的最重要的事情是,如果有任何更改,通过委托方法自动更新我的表。但是,我不再需要通过提取来获取实体,现在将其称为“Pictures”。我有另一个名为文件夹的实体,文件夹与图片有关系,因此每个文件夹都有一个NSSet图片 因此,现在我不必获取属于某个文件夹的所有图片,而只需执行文件夹.pictures,这将返回我需要的内容,我可以将其分配给数

目前我有一个
UITableView
,其数据源是一个
NSFetchedResultsController
NSFetchedResultsController所做的最重要的事情是,如果有任何更改,通过委托方法自动更新我的表。但是,我不再需要通过提取来获取实体,现在将其称为“Pictures”
。我有另一个名为
文件夹
的实体,
文件夹
图片
有关系,因此每个
文件夹
都有一个
NSSet图片

因此,现在我不必获取属于某个
文件夹的所有
图片
,而只需执行
文件夹.pictures
,这将返回我需要的内容,我可以将其分配给数组并将其设置为我的
tableView
源。但是,这并不像
NSFetchedResultsController
那样自动更新表


我的问题是如何在不执行fetch的情况下拥有
NSFetchedResultsController
(即自动更新表的委托方法)的功能?我不需要再提取了,因为我有一个
NSSet
,其中包含所需的
NSManagedObjects

获取的结果控制器有什么问题?只需保留它,并对关系集使用点表示法,您就可以两全其美

获取结果控制器的真正优势实际上是隐藏的。它将获取您的对象(
文件夹
),但可能不会获取所有关系属性(
图片
)。这被称为断层作用。这意味着,如果需要,核心数据将在后台获取数据。它是自动优化的速度和良好的内存使用。例如,数据源中潜在的巨大数组不必一次全部存储在内存中,这对于数组来说是不可避免的


因此,你真的不想摆脱FRC。她是你的朋友。对她保持忠诚

等等,有没有一种方法可以获取一整套实体?嗯,是的,与其他方法完全相同。假设您已经为tableview的一行获取了一个
文件夹
的实例-现在您可以像往常一样简单地访问
文件夹.图片
。因此,我的“获取结果”控制器将只有一个对象,即文件夹,对于我的表视图行数,我将执行文件夹.图片.计数?我以为您有许多文件夹,每个表行一个。在这种情况下,请告诉“获取结果”控制器取回图片。按带有
NSPredicate
的文件夹进行限制。