OC-self关键字

时间:2021-09-27 16:42:51

self关键字

1. 成员变量和局部变量同名

  • 当成员变量和局部变量同名时,采取就近原则,访问的是局部变量
  • 用self访问成员变量,区分同名的局部变量

2.使用细节

1)     出现的地方:所有的OC方法中(对象方法\类方法),不能出现在函数

2)     作用

  • 使用 "self->成员变量名" 访问当前方法调用的成员变量
  • 使用 "[self 方法名];" 来调用方法(对象方法\类方法)
  • 低级错误:用self去调用函数      (只要函数名就可以)
  • 类方法中用self调用对象方法,对象方法中用self调用类方法
  • self死循环

3. 常见错误

  • 低级错误:用self去调用函数
  • 类方法中用self调用对象方法,对象方法中用self调用类方法
  • self死循环
- (void)test1
{
_age = ;//成员变量 int _age = ;
NSLog(@"调用了-test1方法-%d", _age);
[self test2];
} - (void)test2
{
int _age = ;
NSLog(@"调用了-test2方法-%d", self->_age); //用self访问成员变量,区分同名的局部变量,为20