run time

作者: 且行且珍惜_iOS | 来源:发表于2016-03-23 12:59 被阅读296次

    runtime实现机制是什么,怎么用,一般用于嘛,你还能记得你所使用的相关头文件或者某些方法的名称吗?

    回答:运行时机制,runtime库里面包含了跟类/成员变量/方法相关的API,比如获取类里面的所有成员变量,为类动态添加成员变量,动态改变类的方法实现,为类动态添加新的方法等,需要导入<ObJc/message.h>,<objc/runtime>

    1>runtime,运行时机制,它是一套C语言库

    什么是runtime?

    2>实际上我们编写的所有OC代码,最终都是转成了runtime库的东西,比如类转成了runtime库里面的结构体等数据类型,方法转成了runtime库里面的C语言函数,平时调方法都是转成了objc_msgSend函数(所以说OC有个消息发送机制)

    3>因此,可以说runtime是OC的底层实现,是OC的幕后执行者

    runtime有啥用?

    1>能动态产生一个类、一个成员变量、一个方法

    2>能动态修改一个类、一个成员变量、一个方法

    3>能动态删除一个类、一个成员变量、一个方法

    常见的函数、头文件

    import : 成员变量、类、方法

    class_copyIvarList : 获得某个类内部的所有成员变量

    class_copyMethodList : 获得某个类内部的所有方法

    class_getInstanceMethod : 获得某个具体的实例方法(对象方法,减号开头)

    class_getClassMethod : 获得某个具体的类方法 (加号)

    method_exchangeImplementations : 交换2个方法的实现

    相关文章

      网友评论

        本文标题:run time

        本文链接:https://www.haomeiwen.com/subject/aoillttx.html