在应用程序委托中创建的大多数情况下的托管对象上下文。 将它传递给视图/控制器层次结构的方法有哪些,因此树中的每个导航/选项卡控制器都可以访问它。每次从父母到孩子的传递都可能不是最好的,因为我每次都必须携带这些信息,有时不是所有的控制器都可能需要它。
答案 0 :(得分:6)
推荐的设计是进行依赖注入。这意味着当您创建UIViewController
时,您通过属性传递NSManagedObjectContext
。如果UIViewController
只需要一个或一组NSManagedObject
个实例,那么您只需将其传递给via属性。
此设计更灵活,可以更好地重用代码。将所有内容链接到AppDelegate中的单个“硬编码”NSManagedObjectContext
是脆弱的,并降低了代码的灵活性。
我在The Mac Developer Network上深入讨论了这个问题。
答案 1 :(得分:0)
您还可以在主Nib中创建主上下文对象。并将控制器与此对象链接。如果您只使用一个MOC,请创建singleton。