单例的正确初始化方法

.h文件声明

+ (MyHandle *)shareMyHandle;

.m文件实现

#import "MyHandle.h"

// 声明一个静态变量
static MyHandle *myHandel = nil;
@implementation MyHandle

// 实现方法

+ (MyHandel *)shareMyHandel

{

 // 在GCD中只执行一次,用于记录是否执行过

static dispath_once_t onceToken;

dispath_once(&onceToken, ^{

myHandel = [MyHandel alloc] init];

});

return myHandel;

}

原文地址:https://www.cnblogs.com/leikun1113/p/5503423.html