【发布时间】:2011-08-30 16:30:26
【问题描述】:
我在 iOS 上展示了一个带有不同视图控制器的 NSManagedObject 层次结构(基本上是三个级别)。我不完全理解的问题是,如果每个视图控制器都需要NSFetchedResultsController。对于根视图控制器,这似乎很方便,但随后的视图基于前一个视图中的选择。与直接关系相比,NSFetchRequest 怎么样?显示的数据是静态的,永远不会改变,因此无需准备更新。它将从核心数据 sqlite 文件加载。
这是我所拥有的简单图形:
A (1) <---> (*) B (1) <---> (*) C
所以A-B 和B-C 关系都是一对多的,在根视图中我显示As 的列表。选择一个A 将在下一个视图控制器中显示它的Bs,依此类推。
我是使用NSFetchRequest(或NSFetchedResultsController)获取B 的实例还是仅使用A 中的多对多关系有什么区别?内存占用或内存不足的情况下是否有任何差异?我知道当didReceiveMemoryWarning 时我总是可以放弃获取控制器,但是对于托管对象,我认为这并不是那么简单。是这样吗?我很想使用直接关系。
提前致谢。
【问题讨论】:
标签: objective-c cocoa-touch core-data nsfetchedresultscontroller nsfetchrequest