在类(实例)方法中使用self调用方法
在实例方法中
self【可以】调用实例方法(最常见)
self【不可以】调用类方法,此时self不是Class。【编译错误】No visible @interface for 'xx' declares the selector ‘xx’
在类方法中
self【可以】调用类方法,此时self是Class
self【不可以】调用实例方法。【编译错误】 No known class method for selector ‘xxxxx’
self跟着函数的本质不同,也会不同。所以,在类方法中使用self,就要特别注意了。
【总结】:
1,实例方法里面的self,是对象的首地址。
2,类方法里面的self,是Class。类方法不可以使用实例变量,但可以使用self,因为self不是实例变量。此时.self是Class
尽管在同一个类里面的使用self,但是self却有着不同的解读。在类方法里面的self,可以翻译成class self;在实例方法里面的self,应该被翻译成为object self。在类方法里面的self和实例方法里面的self有着本质上的不同,尽管他们的名字都叫self。