您的位置:首页 > 运维架构

dispatch_once 写出 High Big Top 的单例类

2015-10-05 22:03 323 查看
//dispatch_once 添加的任务 在整个程序运行期间只会执行一次。(重复添加无效)

//向队列中添加执行一次的任务
staticdispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSLog(@"真的只执行一次");
});

//这个是不能执行的。
dispatch_once(&onceToken, ^{
NSLog(@"能不能执行第二次");
});

=====================
单例类

#import <Foundation/Foundation.h>

@interface Singleton :
NSObject

+(Singleton *)shareSingleton;

@end
=========================

#import "Singleton.h"

@implementation Singleton

//最新单例写法出炉
+(Singleton *)shareSingleton
{

static Singleton *singleton =
nil;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{
singleton = [self
new];
});

return singleton;
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: