首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传递NSManagedObjectContext

传递NSManagedObjectContext
EN

Stack Overflow用户
提问于 2014-07-17 08:26:10
回答 2查看 226关注 0票数 0

我的核心数据堆栈像往常一样在AppDelegate中设置。我是一个好的OO公民,并且认识到通过[[UIApplication sharedApplication] delegate] managedObjectContext]直接访问它(或将它移动到某个单例)是全局状态/代码气味/淘气。

但是需要访问数据的控制器大约有五层。容器控制器、模态和熊在其间。我是否应该简单地将上下文传递到每一层,以便最后一个屏幕可以显示出实体列表?这似乎限制了可重用性,增加了复杂性,降低了可理解性。

EN

回答 2

Stack Overflow用户

发布于 2014-07-17 08:35:57

是的,你应该按照苹果的建议来传递它。然而,在某些情况下,我很懒,只是从App委托那里拿到了它,因为我没有做任何多线程计算。我大部分时间都在尝试遵循苹果的指导原则,并确保默认地传递上下文,所以如果我需要更低的上下文,我可以使用它。

“视图控制器通常不应该从全局对象(如应用程序委托)中检索上下文-这会使应用程序体系结构变得僵化。”

查看苹果推荐的https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/CoreDataSnippets/Articles/stack.html的iOS信息

票数 1
EN

Stack Overflow用户

发布于 2014-07-17 08:44:54

看看Magical Record,它为各种核心数据的典型用例提供了许多方便的方法。

有了它,你不需要手动跟踪你的上下文,方便的方法以线程安全的方式自动访问它(它们)。

它还支持背景模型保存和较少的沸腾取回。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24793017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档