Runtime深入学习理解

1.什么是 runtime

1.runtime 本质上是一套比较底层的 C语言,C++、汇编组成 API。我们称之为运行时,在 runtime 的底层很多实现是为了性能效率方面,都直接用汇编代码。

2.我们平时编写的 OC 代码,需要 runtime 来创建类和对象,进行消息发送和转发,其实最终会转换成 runtime 的 C 语言代码。

3.runtime 是将数据类型的确定由编译时推迟到了运行时。

2.为什么要用 runtime

1.OC 是一门动态语言,他会将一些工作放在代码运行时才去处理而非编译时,因此编译器不够,我们还需要一个运行时系统来处理编译后的代码

2.runtime 基本是用 C 和汇编语言写的,苹果和 CNU 各自维护一个开源的 runtime 版本,这俩个版本之间都高度的保持一致。

3.runtime 有什么作用?

1.消息传递、转发<消息机制>

2.访问私有变量

3.交换系统方法

4.动态增加属性、方法

5.为分类添加属性

6.字典转模型

1.runtime 怎么添加属性、方法等

ivar 表示成员变量,class_addIvar、class_addMethod、class_addProperty、class_addProtocol、class_replaceProperty

1.1动态添加属性

需求:给 NSObject 添加一个name 属性,动态添加属性-->

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。