iphone – 在“CocoaCocoa Touch”应用程序中放置“Core Data Stack”的位置

iphone – 在“CocoaCocoa Touch”应用程序中放置“Core Data Stack”的位置,第1张

概述在iPhone Core Data Template中,Apple将Core Data Stack放在App Delegate中。 但我最初的倾向是将这个代码移动到它自己的类,它的责任是处理核心数据栈的管理。 您通常将此功能封装在自己的类中,还是将其保留在App Delegate中? 摘要:没有必要创建一个单例来管理核心数据堆栈;事实上这样做可能会产生反作用。 核心数据堆栈恰好由应用程序委托创建。 在iPhone Core Data Template中,Apple将Core Data Stack放在App Delegate中。

但我最初的倾向是将这个代码移动到它自己的类,它的责任是处理核心数据栈的管理。

您通常将此功能封装在自己的类中,还是将其保留在App Delegate中?

解决方法 摘要:没有必要创建一个单例来管理核心数据堆栈;事实上这样做可能会产生反作用。

核心数据堆栈恰好由应用程序委托创建。然而,重要的是,如所有示例所示,堆栈(主要是托管对象上下文)不直接从堆栈(*)检索。相反,上下文被传递到第一视图控制器,并且从上下文或被管理对象上下文被从一个视图控制器传递到下一个(如Accessing the Core Data Stack中所描述的)。这遵循iPhone所有应用程序的基本模式:将数据或模型控制器从一个视图控制器传递到下一个。

这里描述的单例的典型作用是作为模型控制器。使用Core Data,托管对象上下文已经是模型控制器。它还使您能够访问堆栈的其他部分,如果需要。此外,在某些情况下(如文档中所述),您可能想使用不同的上下文来执行一组离散的 *** 作。因此,视图控制器的适当货币单位通常是受管对象上下文,否则是受管对象。使用和传递管理堆栈(并从中检索上下文)的单例对象通常最多会引入不必要的间接级别,最坏的情况下会引入不必要的应用程序刚度。

(*)没有示例使用以下方式检索上下文:

[[UIApplication delegate] managedobjectContext];
总结

以上是内存溢出为你收集整理的iphone – 在“Cocoa/Cocoa Touch”应用程序中放置“Core Data Stack”的位置全部内容,希望文章能够帮你解决iphone – 在“Cocoa/Cocoa Touch”应用程序中放置“Core Data Stack”的位置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1047845.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存