【发布时间】:2015-02-02 18:01:54
【问题描述】:
背景:最近我正在阅读“CoreData by tutorials”来学习 Core Data。这本书向我展示了如何在代码中创建新的核心数据堆栈,并鼓励我们这样做。
问题:
- 为什么我需要编写一个新类来处理 Core Data Stack 而不是使用 XCode 在 AppDelegate.swift 中提供给我们的代码,这样做有什么好处吗?
- 本书获取ManagedObjectContext的方法是通过segue将之前的上下文传递给当前的Controller。就像,首先我在
AppDelegate.swift中初始化一个上下文,然后将此值传递给topViewController(A) ofself.window!.rootViewController as UINavigationController中名为“context”的属性。其次,如果我想在控制器B中使用上下文,我需要在B中声明一个名为“context”的属性,并通过segue传递A的上下文属性let dest = segue.destinationViewController as B dest.context = self.context
这是使用上下文的唯一方法吗?我宁愿使用if let context = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext到处获取上下文.. - 如果我想使用模型来管理 Core Data 之类的事情,例如从控制器传递“上下文”以初始化我的模型类,这是正确的方法吗?
谢谢!
【问题讨论】: