typedef struct objc_selector SEL;
一個selector的定義?是這樣的
id (IMP)(id, SEL, ...)
IMP是這樣的,是一個方法的指針函數。
typedef struct objc_method *Method;
struct objc_method {
SEL method_name OBJC2_UNAVAILABLE; // 方法名
char *method_types OBJC2_UNAVAILABLE;
IMP method_imp OBJC2_UNAVAILABLE; // 方法實現
}
這是Method,將二者聯系起來。
每個類都有一個分發列表methodLists,可以用來查找selector對應的方法。