有一件事我不完全理解与CoreData
(我找不到一个很好的答案我的问题):你怎么在一个应用程序中使用CoreData
多个UIViewcontrollers
?使用核心数据(多个ViewControllers)
在我玩弄核心数据在多个控制器的时刻,我在每个VC
键入此:
let app = UIApplication.sharedApplication().delegate as! AppDelegate
let context = app.managedObjectContext
let entity = NSEntityDescription.entityForName("EntityName", inManagedObjectContext: context)!
let entityName = EntityName(entity: entity, insertIntoManagedObjectContext: context)
但我不认为这是与CoreData
在多个控制器上工作的最佳实践(侧面的问题:这是否会影响我的应用的性能?)。什么是最喜欢的方式?
- 我是否在每个viewcontroller中创建一个托管对象上下文? (很多复制粘贴,像我现在这样做)
- 我是否创建一个创建
CoreData
的单例? 我读的地方,这不是首选方式 - 难道我通过管理对象范围内使用 塞格斯(或应用程序委托的功能
'*didFinishLaunchingWithOptions*'
设置一个公共情境变量)下一个控制器? - 还有别的吗?
在此先感谢!