iOS开发 - 创建一个单例类
关于单例的概念此处不做表述,直接上代码演示如何创建一个单例类。
1 #import <Foundation/Foundation.h> 2 3 @interface MJDemo : NSObject 4 5 + (instancetype)sharedDemo; 6 7 @end 8 9 10 #import "MJDemo.h" 11 12 @implementation MJDemo 13 14 //在iOS中所有对象分配内存空间,最终都会调用allocWithZone:方法,如果要做单例需要提供此方法 15 + (instancetype)allocWithZone:(struct _NSZone *)zone{ 16 static MJDemo *instance; 17 static dispatch_once_t onceToken; 18 dispatch_once(&onceToken, ^{ 19 //该代码只被执行一次 20 instance = [super allocWithZone:zone]; 21 }); 22 23 return instance; 24 } 25 26 + (instancetype)sharedDemo{ 27 return [[self alloc] init]; 28 } 29 30 @end

浙公网安备 33010602011771号