Ios 由多个关系创建的访问器方法是否与NSFetchedResultsController一样好?

Ios 由多个关系创建的访问器方法是否与NSFetchedResultsController一样好?,ios,uitableview,core-data,nsfetchedresultscontroller,Ios,Uitableview,Core Data,Nsfetchedresultscontroller,我的问题与此类似: ios上典型的应用程序结构是通过表视图深入到数据中,许多应用程序模型都是分层的。例如,一个电影节可以有很多电影,可以有很多放映,可以有很多观众。如果我们使用核心数据来表示此模型,那么我们可以使用NSFetchedResultsController将胶片填充到UITableView中。使用NSFetchedResultsController极大地提高了性能和内存效率,并为观察底层数据的更改提供了内置支持。我想在我的项目中尽可能多地利用这一点 因此,如果我们有一个由这个swee

我的问题与此类似:

ios上典型的应用程序结构是通过表视图深入到数据中,许多应用程序模型都是分层的。例如,一个电影节可以有很多电影,可以有很多放映,可以有很多观众。如果我们使用核心数据来表示此模型,那么我们可以使用
NSFetchedResultsController
将胶片填充到
UITableView
中。使用
NSFetchedResultsController
极大地提高了性能和内存效率,并为观察底层数据的更改提供了内置支持。我想在我的项目中尽可能多地利用这一点

因此,如果我们有一个由这个sweet
NSFetchedResultsController
支持的电影表,并且用户选择一个电影来查看其放映列表,我们可以将该电影(NSManagedObject的子类)传递给一个新的
UITableViewController
,并用电影的放映填充该表

我的问题的核心不是“我如何做到这一点?”而是问
NSFetchedResultsController
的好处是否与
NSManagedObject
一起传播。我可以使用谓词中的事件构建一个新的结果控制器,但我不需要。如果我将Film对象传递到一个名为
Film
的变量中,并且我的对多关系被标识为
screenings
,那么我相信我可以得到与该电影相关的一组屏幕,如下所示:

NSSet *filmScreenings = [film screenings];
如果我将该集合转换为一个数组,并将其用作支持新的筛选表视图的数据,我是否会失去
NSFetchedResultsController
的好处?我的直觉告诉我是的,尤其是对监控变化的支持——但苹果文档中的一个常见问题让我再次猜测,并询问整个社区。检查题为“我从实体a到实体B有一对多的关系…”


那么,我是应该使用该访问器方法,还是应该构建一个新的
NSFetchedResultsController

这样做(例如批量获取和更改监控)会失去
NSFetchedResultsController
的好处,因为您将用一个简单的
NSArray
来代替它。您最好将
胶片
传递给详细信息控制器,并在
NSFetchRequest
的谓词中使用此
胶片
构造一个
NSFetchedResultsController
,这正是我最后要做的,并且只在不需要如此优化的较小数据集上使用访问器方法。谢谢你直截了当的回答!