与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]都行
阅读(838) | 评论(0) | 转发(0) |