在類(實(shí)例)方法中使用self調(diào)用方法
在實(shí)例方法中
self【可以】調(diào)用實(shí)例方法(最常見)
self【不可以】調(diào)用類方法衙傀,此時self不是Class∪荆【編譯錯誤】No visible @interface for 'xx' declares the selector ‘xx’
在類方法中
self【可以】調(diào)用類方法统抬,此時self是Class
self【不可以】調(diào)用實(shí)例方法∪味矗【編譯錯誤】 No known class method for selector ‘xxxxx’
self跟著函數(shù)的本質(zhì)不同蓄喇,也會不同。所以交掏,在類方法中使用self妆偏,就要特別注意了。
【總結(jié)】:
1盅弛,實(shí)例方法里面的self钱骂,是對象的首地址。
2挪鹏,類方法里面的self见秽,是Class。類方法不可以使用實(shí)例變量讨盒,但可以使用self解取,因?yàn)閟elf不是實(shí)例變量。此時.self是Class
盡管在同一個類里面的使用self返顺,但是self卻有著不同的解讀禀苦。在類方法里面的self,可以翻譯成class self遂鹊;在實(shí)例方法里面的self振乏,應(yīng)該被翻譯成為object self。在類方法里面的self和實(shí)例方法里面的self有著本質(zhì)上的不同秉扑,盡管他們的名字都叫self慧邮。