OC-self关键字
self关键字
1. 成员变量和局部变量同名
- 当成员变量和局部变量同名时,采取就近原则,访问的是局部变量
- 用self访问成员变量,区分同名的局部变量
2.使用细节
1) 出现的地方:所有的OC方法中(对象方法\类方法),不能出现在函数
2) 作用
- 使用 "self->成员变量名" 访问当前方法调用的成员变量
- 使用 "[self 方法名];" 来调用方法(对象方法\类方法)
- 低级错误:用self去调用函数 (只要函数名就可以)
- 类方法中用self调用对象方法,对象方法中用self调用类方法
- self死循环
3. 常见错误
- 低级错误:用self去调用函数
- 类方法中用self调用对象方法,对象方法中用self调用类方法
- self死循环
- (void)test1 { _age = 20;//成员变量 int _age = 10; NSLog(@"调用了-test1方法-%d", _age); [self test2]; } - (void)test2 { int _age = 10; NSLog(@"调用了-test2方法-%d", self->_age); //用self访问成员变量,区分同名的局部变量,为20