最近想换工作。本来信心满满,可是直到面试才知道自己知识薄弱的地方。所以我开始学习运行时,因为我的面试弱点。我会用我的学习过程给大家讲解一下runtime,这个很重要但是也很宽泛。希望在你迷茫的时候能给你一些帮助。也作为自己的学习。笔记。什么是运行时?runtime的直译就是runtime,运行(run,run)time(时间),网上大家都叫runtime,是一个比较底层的纯C语言API,属于一个C语言库,包括它引入了很多低级的C语言API。是OC的幕后工作者。我们平时写的OC代码,在运行过程中都会转换成runtimeC语言代码。runtime有什么用?如果你之前不了解runtime,你可能会认为它没什么用,其实它的功能是非常强大的。下面我们将以代码的形式揭开runtime的神秘面纱。功能1获取一个类的所有成员变量名(如果你的成员是私有的,也可以获取)我们新建一个Person类,.h代码如下。这些成员变量是公共的。我们直接点击打开文件就可以看到了。如果是系统类,不知道类中有哪些成员?使用runtime可以轻松解决这个问题,现在来测试一下,记得加上#import打印结果,可以试试,把所有的成员都放到.m文件里,打印出来的结果是一样的。函数2同理,我们可以得到一个打印一个类的所有属性名的结果:函数3得到一个类的所有方法打印结果:我们可以看到所有的方法函数4得到一个类遵循的所有协议先把协议注释掉测试代码后面的结果是nothingprinted出来的时候,我们打开下面的代码注释,执行测试代码。打印效果很好吗?您可能认为它不是很有用。接下来,让我们看看如何使用运行时来归档和解归档。Function5Archiving/Unarchiving测试打印结果如下:归档和解档是否比以前更容易?runtime的作用太大了,学了就知道了。这就是我今天的学习过程和一点体会。以后会继续把学习过程分享给大家,希望能给大家一些帮助。
