XX . h 文件中 添加初始化方法
例如: +(Pen *)sharedPen;
XX . m 文件中实现方法
第一种:
+ (Pen *)sharedPen
{
static Pen * pen = nil;
if (pen == nil) {
pen = [[Pen alloc]init];
}
return pen;
} 错误的
第二种:
+(Pen *)sharedPen
{
static Pen * pen = nil;
@synchronized(self)
{
if (pen == nil) {
pen = [[Pen alloc]init];
}
}
return pen;
}
不方便
第三种:
+(Pen *)sharedPen
{
static Pen * pen = nil;
//保证里面的方法 只执行一次
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
pen = [[[Pen alloc]init] autorelease];
});
return pen;
}
效率高 , 建议使用
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
新闻名称:单例(补充)创建单例的三种方式-创新互联
转载来于:http://tyjierui.cn/article/cegoed.html