黑马程序员技术交流社区

标题: 单例模式笔记 [打印本页]

作者: tz19900926    时间: 2015-10-3 15:50
标题: 单例模式笔记

#import "Tools.h"

//定义一个全局变量
static Tools *instances = nil;

@implementation Tools

- (id)copyWithZone:(NSZone *)zone{

    return self;
}
+(id)allocWithZone:(struct _NSZone *)zone{

    //线程保护
    @synchronized(self){
    if(instances == nil){

        //如果第一次用,调用调服类方法
        instances = [super allocWithZone:zone];

        return instances;
    }
  }
    return instances;
}

-(id)retain{
    return self;
}

-(NSUInteger)retainCount{
    return NSUIntegerMax;
}

-(oneway void)release{

}

-(id)autorelease{
    return self;
}
//单例的接入点方法
+(instancetype)shareInstances{

    //目的保证对象必须唯一
    if(instances == nil){

        //创建一个对象
        instances = [[Tools alloc]init];

        return instances;
    }

    return instances;
}
@end



作者: wwf707542865    时间: 2015-10-3 15:52
oc么,还没开始看视频{:3_46:}
作者: tz19900926    时间: 2015-10-3 15:55
wwf707542865 发表于 2015-10-3 15:52
oc么,还没开始看视频

嗯呢,oc的,加油 后面要吃力些
作者: 超の    时间: 2015-10-3 15:58
还需要学习 啊!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2