self的用途
1> 谁调用了当前方法,self就代表谁。在类方法里调用,self就代表类,会找相应调用的类方法,对象方法亦然。
2> 可以利用self->成员变量名 访问当前对象内部的成员变量。
3> [self 方法名]可以调用其他对象方法/类方法
-(void)run{
[self bark];
NSLog(@"--dog run");
}
-(void)bark{
NSLog(@"--dog bark");
}
+(void)run{
[self bark];
NSLog(@"++dog run");
}
+(void)bark{
NSLog(@"++dog bark");
}
Dog * d = [Dog new];
[d run];
[Dog run];
2015-12-10 11:32:24.232 Label[3236:75048] --dog bark
2015-12-10 11:32:24.233 Label[3236:75048] --dog run
2015-12-10 11:32:24.234 Label[3236:75048] ++dog bark
2015-12-10 11:32:24.234 Label[3236:75048] ++dog run