码迷,mamicode.com
首页 > 其他好文 > 详细

单例实现方式以及类方法和实例方法

时间:2015-07-16 11:03:17      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:

在我们开发过程中,如果一个对象可以全局进行使用,我们想当然的想到单例,对了,就是单例,我们可以使用单例,进行全局使用,这样我们无需在每个页面都要实例这个对象,这样,节省内存空间。

那么单例的实现方式有两种:普通和多线程的思想。下面以网络请求为例进行说明。

方法一:使用普通思想

-(id)shareInstance

{

static GEhttprequest *request = nil;

if(!request)

{

request = [[GEhttprequest alloc] init];

}

return request;

}

方法二:使用多线程思想

+(id)shareInstance


{

static dispatch_once_t onceToken;

static GEhttprequest *request = nil;

dispatch_once(&onceToken,^{

request = [[GEhttprequest alloc] init];

});

return request;

}

 

注:在定义单例的时候,定义单例为类方法,这和我们平时的方法不同,以前我们采用实例方法,对象才能调用这些方法,但是类方法,我们不需要进行对象的实例,就可以调用,这个很重要。比如:

我们定义一个可变数组: NSMutableArray *ary;

然后我们可以调用类方法来实例ary : ary = [NSMutableArray array]; array就是一个类方法。ary = [[NSMutableArray alloc] initwitharray:ary1];alloc这个也是类方法。

 

单例实现方式以及类方法和实例方法

标签:

原文地址:http://www.cnblogs.com/gepf/p/4650348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!