A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

self是指向当前对象或者类,但是具体指的是哪个对象或者类我有点不太清楚,亲们帮我看看我分析的对不对
@interface Person:NSObject
{
    int _age;
}
- (void) test;
@end
@implementation Person
- (void) test
{
    int _age=20;;
    NSLog(@"%d",self->_age);
}
@end
int main()
{
    Person *p = [Person new];
    [p setAge:10];
    [p test];
}
这里的self因为 [p test];所以相当于在p里面,所以调用 [p setAge:10];这句里面的10,是么?

4 个回复

倒序浏览
self->成员变量 不是方法调用。self在方法实现中通常有两个用法,一个是用来直接访问成员变量,另一个是调用该对象(类)的其他方法
回复 使用道具 举报
完美世界 发表于 2014-12-21 19:53
self->成员变量 不是方法调用。self在方法实现中通常有两个用法,一个是用来直接访问成员变量,另一个是调 ...

用self指向的都是成员变量被?那就是我之前想复杂了{:3_60:}谢谢你啦
回复 使用道具 举报
木子小静 发表于 2014-12-21 20:07
用self指向的都是成员变量被?那就是我之前想复杂了谢谢你啦

你这种说法是错误的~~self两种用法,可以用来访问成员变量,也可以用来调用方法~~~,它所指向的是方法调用者(对象或者是类)。
回复 使用道具 举报
学习一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马