单利模式设计详解

@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开发中单例模式的机制,

你可能感兴趣的:(单利模式设计详解)