Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2676160
  • 博文数量: 877
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5921
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-05 12:25
个人简介

技术的乐趣在于分享,欢迎多多交流,多多沟通。

文章分类

全部博文(877)

文章存档

2021年(2)

2016年(20)

2015年(471)

2014年(358)

2013年(26)

分类: iOS平台

2015-10-31 00:52:22

与self class有什么用法上的区别?   

[self class]只适用于本类调用本类中的静态方法吗
[ 此帖被xx541100047在2011-09-30 16:08重新编辑 ]


回复引用举报顶端
tt295362026


级别: 新手上路


UID: 89164
精华: 0 
发帖: 11
可可豆: 92 CB
威望: 93 点
在线时间: 111(时)
注册时间: 2011-08-25
最后登录: 2015-10-30
沙发 :
发表于: 2011-09-22 16:14   发自: Web Page 只看该作者   小 中 大
self指对象本身,[self class]返回的是类,打印出来就相当于类名。静态方法的调用就是类名加方法。 
回复引用举报顶端
xx541100047


级别: 骑士
CocoaChina四周年勋章 代码之星 7周年勋章 
状态: 未签到 - [7天]
UID: 87585
精华: 0 
发帖: 230
可可豆: 1950 CB
威望: 1938 点
在线时间: 146(时)
注册时间: 2011-08-16
最后登录: 2015-10-26
板凳 :
发表于: 2011-09-22 16:38   发自: Web Page 只看该作者   小 中 大
回 1楼(tt295362026) 的帖子
那为什么调用本类静态方法的时候,要用[self class],self不可以吗?看别人的代码,好纠结 
回复引用举报顶端
r2007


级别: 骑士


UID: 83084
精华: 0 
发帖: 183
可可豆: 1725 CB
威望: 1725 点
在线时间: 326(时)
注册时间: 2011-07-24
最后登录: 2013-12-24
3 楼:
  发表于: 2011-09-22 17:44   发自: Web Page 只看该作者   小 中 大
地球人都这么用。 
"I'm convinced that the only thing that kept me going was that I loved what I did." - Steve Jobs 1955-2011
回复引用举报顶端
大日如来


级别: 新手上路


UID: 94210
精华: 0 
发帖: 20
可可豆: 200 CB
威望: 200 点
在线时间: 40(时)
注册时间: 2011-09-20
最后登录: 2012-02-08
4 楼:
  发表于: 2011-09-22 18:55   发自: Web Page 只看该作者   小 中 大
1楼说得很清楚,self指得是对象本身,而静态方法是给类调用的 
回复引用举报顶端
zhaoxy2850
 
级别: 精灵王


状态: 未签到 - [1天]
UID: 32359
精华: 0 
发帖: 789
可可豆: 6982 CB
威望: 6982 点
在线时间: 376(时)
注册时间: 2010-09-30
最后登录: 2015-08-26
5 楼:
  发表于: 2011-09-22 21:12   发自: Web Page 只看该作者   小 中 大
回 2楼(xx541100047) 的帖子
self是实例的指针,[self class]是类的指针,静态方法得用类的指针来调用 
关注手游领域中,欢迎共同探讨~
邮箱:zhaoxy_thu@163.com
博客:http://blog.csdn.net/zhaoxy2850
回复引用举报顶端
wangyunfan


级别: 新手上路


UID: 174711
精华: 0 
发帖: 3
可可豆: 3 CB
威望: 3 点
在线时间: 15(时)
注册时间: 2012-11-02
最后登录: 2015-08-13
6 楼:
  发表于: 2012-11-14 17:10   发自: Web Page 只看该作者   小 中 大
学习了,正需要呢。 
回复引用举报顶端
迅雷粥粥


级别: 新手上路


UID: 449569
精华: 0 
发帖: 3
可可豆: 12 CB
威望: 12 点
在线时间: 24(时)
注册时间: 2015-03-15
最后登录: 2015-09-15
7 楼:
  发表于: 2015-07-29 16:02   发自: Web Page 只看该作者   小 中 大
@interface CLRequestParameter : NSObject


@property (nonatomic, strong) NSMutableString *url;


@property (nonatomic, strong) NSMutableDictionary *header;


@property (nonatomic, strong) NSMutableDictionary *body;


@property (nonatomic, assign) BOOL needClientInfoBody;


+ (CLRequestParameter *) parameter;
+ (CLRequestParameter *) parameter:(NSMutableString *)url
                          header:(NSMutableDictionary *)header
                            body:(NSMutableDictionary *)body;




@end




@implementation CLRequestParameter


@synthesize url;
@synthesize header;
@synthesize body;
@synthesize needClientInfoBody;


+ (CLRequestParameter *) parameter {
  return [[[self class] alloc] init];
}


+ (CLRequestParameter *) parameter:(NSMutableString *)url
                          header:(NSMutableDictionary *)header
                            body:(NSMutableDictionary *)body {
  CLRequestParameter *param = [self parameter];//写self 或者[self class] 都行?
  param.url = url;


  param.header = header;


  param.body = body;


  param.needClientInfoBody = YES;
  return param;
}


@end


回复引用举报顶端
迅雷粥粥


级别: 新手上路


UID: 449569
精华: 0 
发帖: 3
可可豆: 12 CB
威望: 12 点
在线时间: 24(时)
注册时间: 2015-03-15
最后登录: 2015-09-15
8 楼:
  发表于: 2015-07-29 16:04   发自: Web Page 只看该作者   小 中 大
回 7楼(迅雷粥粥) 的帖子
不明白为什么上面加红色的地方 写self 或[self class]都行 
阅读(831) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~