@interfaceSingleton:NSObject
+ (Singleton *)sharedSingleton; <1>
@end
#import"Singleton.h"
@implementation
SingletonstaticSingleton *sharedSingleton =nil;<2>
+ (Singleton *)sharedSingleton{
staticdispatch_once_tonce;<3>
dispatch_once(&once,^{
sharedSingleton = [[self alloc] init];<4>//只需要运行一次就可以满足需求的代码都可以写在这里。});
return sharedSingleton;<5>
}
上述代码中有5小步,解释如下:
1,声明一个可以新建和获取单个实例对象的方法
2,声明一个static类型的类变量
3,声明一个只执行一次的任务
4,调用dispatch_once执行该任务指定的代码块,在该代码块中实例化上文声明的类变量
5,返回在整个应用的生命周期中只会被实例化一次的变量
以上就是iOS开发中单例模式的机制,
网友评论