self用在对象方法中,谁调用当前方法,self就指代谁,例如:
-(void)eat{
[self run];
}
在此段代码中如果是用对象p调用eat方法,那么self就指代p。
self用在类方法中,谁调用当前方法,self就指代谁,例如:
+(void)eat{
[self run];
}
在此段代码中如果是用类Person调用eat方法,那么self就指代Person类。
self修饰变量,例如:
-(void)setAge:(int)age{
self->age = age;
}
在此段代码中假设实例变量名和形参名同为age,如果不通过self->age = age;则无法访问实例变量也就是无法对实例变量进行赋值操作,因为局部变量age会屏蔽实例变量age的作用域。
|
|