在OC中注簿,Description方法包括類方法和對象方法缘揪,而我們通常所重寫的description方法一般是重寫對象方法。而description方法是寫在NSObject中的亮蛔,其他類都是NSObject的子類宠互,所以可以從他那里繼承得到的,于是我點(diǎn)進(jìn)去查看了NSObject的描述文件,結(jié)果只在描述文件中看到了description的類方法:
于是我就上面仔細(xì)尋找静盅,發(fā)現(xiàn)有一個(gè)NSObject的協(xié)議良价,于是點(diǎn)進(jìn)協(xié)議一看,發(fā)現(xiàn)了這個(gè)東西:
這是在NSObject 協(xié)議文件里面的 一個(gè)@property 格式的聲明,在協(xié)議中用@property修飾的對象明垢,不像在@interface里面那樣會自動生成屬性和set 和get 方法的聲明和實(shí)現(xiàn)蚣常,只會生成這個(gè)對象的set和get聲明抓歼,而且默認(rèn)是對象方法余黎,這里@property的修飾符是readonly 因此只生成 description的get方法,也就是我們常改寫的description的對象方法耕赘,這就是為什么我們在NSObject里面找不到 description的對象方法的原因溯革。