博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于runtime的一些补充
阅读量:6847 次
发布时间:2019-06-26

本文共 489 字,大约阅读时间需要 1 分钟。

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

成员变量、属性

基础数据类型

Ivar

img_801c2a62a15de6f36fb4ad091f70a78d.png

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

objc_property_t

img_4d464fbff4459f0e25a8092e8d8e681c.png

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

objc_property_attribute_t

img_9cc6ef1973aa23b92a934170ece2962d.png
objc_property_attribute_t定义了属性的特性(attribute)

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

成员变量

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

img_1c284ce521350a244229b3f8cca2a195.png
获取成员变量名

img_033e93270608545b213e494ed576c505.png
获取成员变量类型编码

img_6167adc0876188b697dba935200c8f2a.png
ptrdiff_t ivar_getOffset ( Ivar v );

img_aeafaaf2417932137e4abda497b61455.png
获取属性名

img_0d248b21883d353b512e6ad1221c3fd0.png
获取属性特性描述字符串

img_ed4f1344ffbaa474730a38916ad7e490.png
获取属性中指定的特性

img_b630bb262975f21cf36540f64743c327.png
获取属性的特性列表

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

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

转载地址:http://jilul.baihongyu.com/

你可能感兴趣的文章
ORACLE 10g SYSAUX表空间快速增长之WRH$_ACTIVE_SESSION_HISTORY篇
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
linux 下安装zip
查看>>
我的友情链接
查看>>
python-标示符和关键字
查看>>
使用递归解决斐波那契数列的性能问题
查看>>
Springboot之整合Fastdfs
查看>>
【Perl】perl正则表达式中的元字符、转义字符、量词及匹配方式
查看>>
用带余除法可以解决一切部分分式的题目
查看>>
10部电影教你6大沟通术-泡妞MM
查看>>
JQuery 左右拖动插件
查看>>
[转]获取js函数的名称
查看>>
笔记本的拆卸
查看>>
最长递增子序列LIS再谈
查看>>
【Text Editor】文本编辑器:Sublime Text
查看>>
C语言 判断字符串是否回文
查看>>
改变echarts中tooltip的宽度以及换行
查看>>
js中伪数组
查看>>
【ZZ】超全面的设计模式总结
查看>>