关于IOS中的self关键字

在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就代表当前方法的调用者。

原文地址:https://www.cnblogs.com/yuyu-2012/p/4736029.html