单例模式

// 因为实例是全局的 因此要定义为全局变量,且需要存储在静态区,不释放。不能存储在栈区。 static WCuserMod * _handle = nil; // 伪单例 和 完整的单例。 以及线程的安全。 // 一般使用伪单例就足够了 每次都用 sharedDataHandle 创建对象。 + (instancetype)sharedWCdicMod {     // 添加同步锁,一次只能一个线程访问。如果有多个线程访问,等待。一个访问结束后下一个。     @synchronized(self){         static dispatch_once_t onceToken;         dispatch_once(&onceToken, ^{             _handle=[[self alloc]init];       });     }     return _handle; }

你可能感兴趣的:(单例模式)