iOS method_t
我们查看 OBJC 源码
struct method_t {
SEL name;
const char *types;
MethodListIMP imp;
struct SortBySELAddress :
public std::binary_function<const method_t&,
const method_t&, bool>
{
bool operator() (const method_t& lhs,
const method_t& rhs)
{ return lhs.name < rhs.name; }
};
};
主要看前三个属性。
1. SEL name; 代表名字
2. const char *types;代表这个方法的参数,返回值类型
3. MethodListIMP imp;函数指针,保存着函数的地址,用于方法的调用
从源码的 method 结构体可以知道,一个方法主要存放着方法的名字,参数类型,返回值类型,和这个方法的地址
网友评论