NSObject的關(guān)系
- NSProxy 沒有繼承NSObject,只實現(xiàn)了NSObject的協(xié)議,所以NSProxy類沒有多次的消息轉(zhuǎn)發(fā),它的消息轉(zhuǎn)發(fā)機制直接轉(zhuǎn)發(fā)到forwardInvocation方法
- 對象是Class的實現(xiàn),Class是MetaClass的實現(xiàn)
- 所有Class都從上往下繼承,RootClass就是NSObject,NSObject沒有繼承,NSObject的superClass指向NULL
- 每個Class都有一個MetaClass,每個MetaClass都從上往下繼承,RootMetaClass(即NSObject的metaClass)繼承自NSObject
- 每個MetaClass的Class(即isa指針)都指向RootMetaClass
- 由于RooMetaClass繼承NSObject,所以給NSObject擴展實例方法,可以即當做實例方法用,也可以當做類方法用
PS: 所謂的類方法只不過是MetaClass的實例方法