Objective-C Singleton 单例模式解析,单例模式就是只有一个实例,确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类。
objective c 单例模式,objective c 设计模式,objective c singleton 。
单例指一个唯一的,由全局共享的对象,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类。
官方建议
由于自己设计单态模式存在一定风险,主要是考虑到可能在多线程情况下会出现的问题,因此苹果官方建议使用以下方式来实现单态模式:
static MyGizmoClass *sharedGizmoManager = nil;
+ (MyGizmoClass*)sharedManager
{
@synchronized(self) {
if (sharedGizmoManager == nil) {
[[self alloc] init]; // assignment not done here
}
}
return sharedGizmoManager;
}
+ (id)allocWithZone:(NSZone *)zone
{
@synchronized(self) {
if (sharedGizmoManager == nil) {
sharedGizmoManager = [super allocWithZone:zone];
return sharedGizmoManager; // assignment and return on first allocation
}
}
return nil; //on subsequent all
Objective-C 单例模式写法以及单例模式模板宏
最新推荐文章于 2021-05-26 15:49:15 发布
本文介绍了Objective-C中实现单例模式的方法,利用SingletonTemplate宏模版简化代码,以AppPreference类为例,展示如何创建并使用单例,同时提供了一个测试方法来演示单例的调用。
摘要由CSDN通过智能技术生成