self 谁调用当前方法,self就代表谁self在对象方法中,self代表当前对象self在类方法中个,self代表类
[self 方法名称]; 调用其它方法(类方法/对象方法)self可以简单理解为指自己
同时有对象方法和类方法存在的时候,self不会调错
self在对象方法中 可以利用self->属性名称的方式访问成员变量
应用场景:当存在局部变量名和成员变量名同名的时候
还有一点就是在OC中点语法里说明了一下 self的使用注意:
1)OC中有个self关键字,作用跟this关键字类似。我这么说完,可能有人就会想这样写OC的set方法了
- (void)setAge:(int)newAge {
self.age = newAge;}
这绝对是错误的,会造成死循环。因为我在前面已经说过了,OC点语法的本质是方法调用,所以上面的代码相当于
- (void)setAge:(int)newAge {
[self setAge:newAge];}
下面的使用方式也是一个死循环:2)在get方法中,return self.age;相当于是[self age];
|
|