
runtime为什么可以动态添加变量和方法
1个回答
展开全部
1.类中每一个方法在内部转换后的结构体
struct objc_method
{
SEL method_name; //函数名称
char *method_types; //函数类型
IMP method_imp; //函数的具体实现,这里是第一个指针,指向具体的实现,IMP貌似是一个函数指针类型
};
2.每一个类拥有的函数列表
struct objc_method_list
{
struct objc_method_list
*obsolete; //函数列表
int method_count; //类中函数的个数
struct objc_method
method_list[1]; //函数列表中的第一个函数地址
}
struct objc_method
{
SEL method_name; //函数名称
char *method_types; //函数类型
IMP method_imp; //函数的具体实现,这里是第一个指针,指向具体的实现,IMP貌似是一个函数指针类型
};
2.每一个类拥有的函数列表
struct objc_method_list
{
struct objc_method_list
*obsolete; //函数列表
int method_count; //类中函数的个数
struct objc_method
method_list[1]; //函数列表中的第一个函数地址
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询