搜索
您的当前位置:首页正文

关于runtime的一些补充

来源:二三娱乐

在我的上一篇文章中,主要列出了runtime的一些方法和特性,这一篇文章着重讲一讲实现

成员变量、属性

基础数据类型

Ivar

Ivar是表示实例变量的类型,其实际是一个指向objc_ivar结构体的指针

objc_property_t

objc_property_t是表示Objective-C声明的属性的类型,其实际是指向objc_property结构体的指针

objc_property_attribute_t

objc_property_attribute_t定义了属性的特性(attribute)

成员变量、属性的操作方法

成员变量

成员变量操作包含以下函数:

获取成员变量名 获取成员变量类型编码 ptrdiff_t ivar_getOffset ( Ivar v ); 获取属性名 获取属性特性描述字符串 获取属性中指定的特性 获取属性的特性列表

property_copyAttributeValue函数,返回的char *在使用完后需要调用free()释放。

property_copyAttributeList函数,返回值在使用完后需要调用free()释放。

Top