关于runtime的一些补充

简介: 在我的上一篇文章中,主要列出了runtime的一些方法和特性,这一篇文章着重讲一讲实现成员变量、属性基础数据类型IvarIvar是表示实例变量的类型,其实际是一个指向objc_ivar结构体的指针objc_prope...

在我的上一篇文章中,主要列出了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()释放。

目录
相关文章
|
7月前
|
存储 缓存 API
技术笔记:Runtime的相关知识
技术笔记:Runtime的相关知识
53 1
|
3月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
45 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
6月前
|
Java API 编译器
Java编译器注解运行和自动生成代码问题之编译时通过参数设置选项值问题如何解决
Java编译器注解运行和自动生成代码问题之编译时通过参数设置选项值问题如何解决
|
5月前
|
缓存 运维 Serverless
函数计算产品使用问题之如何在Custom Runtime中引用层中的依赖
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
存储 Java Serverless
函数计算产品使用问题之Custom Runtime函数的详细配置包括哪些
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
|
Java 测试技术 Maven
Java编译器注解运行和自动生成代码问题之在编译时需要设置-proc:none参数问题如何解决
Java编译器注解运行和自动生成代码问题之在编译时需要设置-proc:none参数问题如何解决
|
6月前
|
Java API
Java演进问题之如果程序不满足"closed-world"假设,Substrate VM如何解决
Java演进问题之如果程序不满足"closed-world"假设,Substrate VM如何解决
更新 runtime 版本
更新 runtime 版本
|
编译器 Go 索引
Go 官方标准编译器中所做的优化
Go 官方标准编译器中所做的优化
76 0
|
测试技术
【排查解决】System.Runtime.InteropServices.ExternalException (0x80004005): GDI+ 中发生一般性错误
【排查解决】System.Runtime.InteropServices.ExternalException (0x80004005): GDI+ 中发生一般性错误
570 0
【排查解决】System.Runtime.InteropServices.ExternalException (0x80004005): GDI+ 中发生一般性错误

热门文章

最新文章