Li Wei

runtime 1 - 基本概念

Objective-c


Rumtime 运行时


动态调用


meta-class 元类


Class

@interface NSObject <NSObject> {
   	Class isa  OBJC_ISA_AVAILABILITY;
}

定义为: typedef struct objc_class *Class

struct objc_class {

    Class isa  OBJC_ISA_AVAILABILITY;

#if !__OBJC2__
   	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

} OBJC2_UNAVAILABLE;

Share this: