【发布时间】:2012-06-23 10:17:05
【问题描述】:
在我目前正在处理的项目中,创建和使用了很多UIViewController 对象(一些UIViewController 子类)。相信我,它制造了很多问题。我正在研究它(某种重构)。
正如我所见,大多数(那些)对象只需要初始化一次并多次使用。由于我将从现在开始从事这个项目(而且该项目的持续时间很长),我如何确定每个 UIViewController Subclass 对象一次只存在一个。
我怀疑我是否应该制作所有UIViewControllers Singleton。如果是这样,我应该如何实施。意义;我应该初始化applicationDidFinishedLaunching:WithOptions 中的所有对象还是在哪里?
另一个问题是:(我认为可能不是真的)项目中的所有UIViewController 都应该是单例吗?
【问题讨论】:
-
请记住,如果您最终使用
singleton模式方法,您的视图控制器将在应用程序的整个生命周期内保留在内存中,如果管理不当可能会导致内存问题(取决于关于视图控制器的内存占用) -
@danielbeard 是的,你提到了非常重要的一点。
-
如果使用得当,Singleton 将是一个很好的方法......否则,你最终可能会使用太多内存......我经历过...... :)
标签: iphone objective-c ios architecture uiviewcontroller