你如何处理你的应用程序中的单例对象?

gur*_*het 1 architecture oop iphone objective-c uiapplication

我想到的第一种方法是将singleton对象作为属性放在appDelegate对象中.通过这种方式,您可以使用任何地方访问它

#import "myAppDelegate.h"
// ...
[[(myAppDelegate *)[UIApplication sharedApplication] delegate] SingletonObj]
Run Code Online (Sandbox Code Playgroud)

缺点是你必须显式地转换和导入你的委托的标题,告诉你正在使用的类,SingletonObj实际上是委托的属性.我认为这会让代码闻起来有点香味.

第二种方法是创建一个合法的单例类.然而,这需要更多的工作.我个人认为一个Singleton类,绰绰有余.

我不是程序员,所以我非常感谢对我的推理和对这个主题的看法的更正.

bbu*_*bum 5

单身人士通常通过类似的方法在课堂上处理+sharedInstance.

这是一篇很好的文章.