有一件事我不完全理解與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*'
設置一個公共情境變量)下一個控制器? - 還有別的嗎?
在此先感謝!