将managedObjectContext传递给视图/控制器层次结构

Pab*_*blo 2 iphone core-data software-design

在应用程序委托中创建的大多数情况下的托管对象上下文.将它传递给视图/控制器层次结构的方法有哪些,因此树中的每个导航/选项卡控制器都可以访问它.每次从父母到孩子的传递都可能不是最好的,因为我每次都必须携带这些信息,有时不是所有的控制器都可能需要它.

Mar*_*rra 7

推荐的设计是进行依赖注入.这意味着当您创建一个UIViewController传递NSManagedObjectContext属性时.如果UIViewController只需要一个或一组NSManagedObject实例,那么你只需要将它们交给via属性.

此设计更灵活,可以更好地重用代码.将所有内容链接到NSManagedObjectContextAppDelegate中的单个"硬编码" 是脆弱的,并降低了代码的灵活性.

我在Mac开发者网络上深入讨论了这个问题.