gpt4 book ai didi

ios - 传递一个 NSManagedObjectContext

转载 作者:行者123 更新时间:2023-11-29 02:48:44 25 4
gpt4 key购买 nike

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

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

最佳答案

是的,您应该按照 Apple 的建议传递它。然而,在某些情况下我一直很懒惰,只是从 App 委托(delegate)中获取它,因为我没有做任何多线程计算。我大部分时间都在尝试坚持苹果的指导方针,并确保我默认传递上下文,所以如果我需要它更低,我就拥有它。

“ View Controller 通常不应从全局对象(例如应用程序委托(delegate))中检索上下文——这会使应用程序架构变得僵化。”

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

关于ios - 传递一个 NSManagedObjectContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24793017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com