ios - objective-c objc_ivar_list 的结构
本文介绍了ios - objective-c objc_ivar_list 的结构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
struct objc_ivar ivar_list[1];
variable length structure 是什么意思?
[1] 是什么作用?
解决方案
struct objc_ivar_list {
int ivar_count;
/* variable length structure */
struct objc_ivar ivar_list[1];
}
struct objc_ivar {
char *ivar_name;
char *ivar_type;
int ivar_offset;
};
变长结构体,因为不同类的实例变量数量不定。
objc_ivar_list 是 ObjC 中代表类的实例的变量列表的数据结构,objc_ivar 是代表一个实例变量的数据结构。(之前没看过现翻的,应该是这样没错。。。)
[1] 是变长结构体具体实现的细节,搜索下变长结构体就有解了。
这篇关于ios - objective-c objc_ivar_list 的结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文