应用场景: 当只需要某个类的唯一对象的使用使用单例模式。也就是保证这个类仅有一个实例,并且这个实例可以被全局访问。
实现代码
- //Singleton.h
- #import <Foundation/Foundation.h>
- @interface Singleton : NSObject
- @property NSString *singletonData;
- + (Singleton*)sharedManager;
- @end
- //Singleton.m
- #import "Singleton.h"
- @implementation Singleton
- static Singleton *sharedManager = nil;
- + (Singleton*)sharedManager
- {
- static dispatch_once_t once;
- dispatch_once(&once, ^{
- sharedManager = [[self alloc] init];
- });
- return sharedManager;
- }
- @end
复制代码
说明:dispatch_once的作用是只执行一次代码块
^{sharedManager=[[self alloc] init];}
保证Singleton的实例只能被创建一次。 |