iOS runtime执行时具体解释

Posted yutingliuyl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS runtime执行时具体解释相关的知识,希望对你有一定的参考价值。

什么是runtime?

runtime直译就是执行时间,run(跑,执行) time(时间),网上大家都叫它执行时,它是一套比較底层的纯C语言API,属于一个C语言库,包括了非常多底层的C语言API,它是OC的幕后工作者,我们平时写的OC代码,在执行过程时,都会转为runtime的C语言代码

runtime有什么用?

假设你之前不知道runtime,可能认为它没什么用,事实上他的作用很强大.以下我们就以代码的形式为大家揭开runtime的神奇面纱

作用1  获取一个类所有成员变量名(假设你的成员私有,也能够获取到)

我们新建一个Person类,.h代码例如以下

技术分享

这些成员变量都是公有的,我们直接点开头文件就能够看到,假设是系统的类呢,你是不是就不知道类里面有哪些成员了,利用runtime能够轻松解决问题,如今我们来測试一下,记得要加 #import 

技术分享

打印结果

技术分享

你能够试一下,把全部的成员放到.m文件中面,它打印的结果是一样的.

作用2  同理,我们能够获取到一个类的所有属性名

技术分享

打印结果:

技术分享

作用3 获取一个类的所有方法

技术分享

打印结果:

技术分享

我们能够看到全部的方法

作用4 获取一个类遵循的全部协议

先将遵循的协议给凝视掉

技术分享

測试代码

技术分享

结果啥都没有打印出来

技术分享

我们把遵循的代码凝视给打开

再运行測试代码,打印结果

技术分享

是不是非常棒,你可能认为貌似用处不太大,那接下来我们来看看怎样利用runtime归档和解档.

作用5 归档/解档技术分享測试例如以下:技术分享



以上是关于iOS runtime执行时具体解释的主要内容,如果未能解决你的问题,请参考以下文章

iOS Runtime原理及使用

关于 iOS RunTime 使用的一些场景

ios-Runtime机制

(转)iOS-Runtime知识点整理

iOS RunTime运行时:类与对象

iOS Objc Runtime 教程+实例Demo