1

在我目前正在处理的项目中,创建和使用了很多UIViewController(某些子类的)对象。UIViewController相信我,这会产生很多问题。我正在研究它(一种重构)。

如我所见,大多数(那些)对象只需要初始化一次并多次使用。由于我将从现在开始从事这个项目(而且该项目持续时间很长),我如何确定每个UIViewControllerSubclass 对象一次只有一个活着。

我怀疑我是否应该制作所有的UIViewControllers单身人士。如果是这样,我应该如何实施。意义; 我应该在其中或在哪里初始化所有对象 applicationDidFinishedLaunching:WithOptions

另一个问题是:(我认为可能不是真的)项目中的所有UIViewController项目都应该是单例吗?

4

2 回答 2

1

如果你想确保项目中的所有 UIViewController 对象只被创建一次,那么唯一的方法就是 Singleton。而且您不需要在 applicationDidFinishLaunching 中初始化它们。你可以在任何地方初始化它们(通常是你需要它们的地方)。

转到正确创建单身人士的链接:http: //cocoasamurai.blogspot.in/2011/04/singletons-your-doing-them-wrong.html

来源:让 UIViewController 成为单例?

于 2012-06-21T07:55:04.917 回答
0

如果您希望它们只是每个子类的一个对象,那么将它们设为单例并不是一个坏主意,

如果您将它们设为单例,请不要初始化它们,applicationDidFinishedLaunching:WithOptions而是在需要它们时立即初始化它们(阅读有关延迟初始化的更多信息)

但是我建议让每个 webView 成为您的 Appdelegate 的属性,这样每当您需要它们时,您都可以从 appDelegate 获取它们

于 2012-06-21T07:54:30.800 回答