黑马程序员技术交流社区

标题: self具体指的是哪个对象或者类我有点不太清楚,亲们帮我看看我分析的对不对 [打印本页]

作者: 木子小静    时间: 2014-12-21 19:39
标题: self具体指的是哪个对象或者类我有点不太清楚,亲们帮我看看我分析的对不对
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,是么?
作者: 完美世界    时间: 2014-12-21 19:53
self->成员变量 不是方法调用。self在方法实现中通常有两个用法,一个是用来直接访问成员变量,另一个是调用该对象(类)的其他方法
作者: 木子小静    时间: 2014-12-21 20:07
完美世界 发表于 2014-12-21 19:53
self->成员变量 不是方法调用。self在方法实现中通常有两个用法,一个是用来直接访问成员变量,另一个是调 ...

用self指向的都是成员变量被?那就是我之前想复杂了{:3_60:}谢谢你啦
作者: 完美世界    时间: 2014-12-21 20:47
木子小静 发表于 2014-12-21 20:07
用self指向的都是成员变量被?那就是我之前想复杂了谢谢你啦

你这种说法是错误的~~self两种用法,可以用来访问成员变量,也可以用来调用方法~~~,它所指向的是方法调用者(对象或者是类)。
作者: iosCoder    时间: 2014-12-21 23:08
学习一下




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