jjzjj

CocoaObjects

全部标签

objective-c - objective c singleton dispatch_once 实现更好?

看到很多人建议用dispatch_once来做单例:+(MyClass*)singleton{staticdispatch_once_tpred;staticMyClass*shared=nil;dispatch_once(&pred,^{shared=[[MyClassalloc]init];});returnshared;}当它并不真正支持真正的单例时为什么会更好,而且人们仍然可以使用init创建实例甚至在sharedInstance上进行发布?Apple的方法是防止所有这些情况http://developer.apple.com/library/mac/#documentatio