我在我的第一个 iPhone 应用程序中使用 Core Data 并尝试理解 NSFetchedResultsController。它在我的根视图中效果很好。我是否需要在每个视图控制器中实例化一个实例?如果是这样,是否有一个模板可以使这像在我的根控制器中一样简单(我只是在创建项目时选中了模板中的一个框)。当我添加一个新的视图控制器时,我没有看到使用核心数据的选项。
Update:即使我将代码剪切/粘贴到第二个视图中,我也花了一段时间才意识到在切换到新视图之前我还需要设置 ManagedObjectContext。在将新视图推送到导航堆栈之前,我将以下行添加到 RootViewController 中:
self.newVC.managedObjectContext = self.managedObjectContext;
如果您的其他视图正在可视化不同的实体,那么是的,您将使用不同的NSFetchedResultsController
。您基本上可以从自动生成的根视图控制器中复制并粘贴代码到其他视图控制器......只需更改实体名称即可。
但是,如果层次结构中的其他(表)视图仅显示同一实体的不同属性,则仅传递现有实体会更有效/更简单NSFetchedResultsController
层次结构中的对象。只需创建一个NSFetchedResultsController
类接口中的成员并将其公开为视图控制器的 .h 文件中的属性,然后合成该属性并在其 .m 文件中释放它。然后在将视图控制器压入堆栈之前设置属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)