【OC之class與meta-class】
核心規則:類的實例對象的 isa 指向該類;該類的 isa 指向該類的 metaclass。
通俗說法:成員方法記錄在class method-list中,類方法記錄在meta-class中。即instance-object的信息在class-object中,而class-object的信息在meta-class中。
圖示:
class 是 instance object 的類類型。當我們向實例對象發送消息(實例方法)時,我們在該實例對象的 class 結構的 methodlists 中去查找響應的函數,如果沒找到匹配的響應函數則在該 class 的父類中的 methodlists 去查找(查找鏈為上圖的中間那一排)。如下面的代碼中,向str 實例對象發送 lowercaseString 消息,會在 NSString 類結構的 methodlists 中去查找 lowercaseString 的響應函數。