在C#、Java中都有一个关键字this用于表示当前对象,其实在ObjC中也有一个类似的关键字self,只是self不仅可以表示当前对象还可以表示类本身,也就是说它既可以用在静态方法中又可以用在动态方法中。
-(void)setName:(NSString *)name andAge:(int)age{ // _name=name; // _age=age;self.name=name;self.age=age; }+(void)printInfo{NSLog(@"Hello,World!"); }
setName: andAge:方法是一个动态方法,此时self就代表调用对象;
而在showMessage方法中self调用了类的静态方法printInfo,此时self代表调用的类;
因此可以总结出在ObjC中self就代表当前方法的调用者。