主要剖析內部源碼
首先看一下objc_class的實現
struct objc_class {
Class isa ;
Class super_class ;
const char *name ;
long version ;
long info ;
long instance_size ;
struct objc_ivar_list *ivars //成員變量列表
struct objc_method_list **methodLists; //方法列表
struct objc_cache *cache;//緩存: 一種優化,調用過的方法存入緩存列表,下次調用先找緩存
struct objc_protocol_list *protocols //協議列表
#endif
};
/* Use `Class` instead of `struct objc_class *` */
主要構成 isa指針、成員列表、方法列表。