ios - objective-c objc_ivar_list 的结构

查看:118
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆