美文网首页
runtime 10种常用用法

runtime 10种常用用法

作者: Code丶Ling | 来源:发表于2016-11-18 10:04 被阅读32次

        分别是通过Objective-C源代码,通过Foundation框架的NSObject类定义的方法,通过对runtime函数的直接调用。大部分情况下你就只管你写的Objc代码就行,runtime系统自动在幕后辛勤劳作。

    1.将某些OC代码转为运行时代码

    OC代码实现的功能,运行时代码均可以实现。

    2.替换系统方法

    拦截系统自带的方法调用(swizzle黑魔法),也可以说成对系统的方法进行替换。

    3.实现分类也可以添加属性

    分类正常来说只有拓展EXtension才可以添加属性,分类Category是不可以添加属性的,但是利用运行时可以添加属性。

    4.自动归档和自动解档

    说白了,就是遍历属性,不用一个属性一个属性的去写,简单。

    5.字典和模型的自动转换

    还是遍历属性,利用属性做文章。

    6.动态增加方法(动态的为某个类或对象增加一个)

    对某一个功能做拓展。

    7.动态变量控制

    动态对某个对象的变量的值进行替换。

    8.实现万能控制器跳转

    推送过来的消息,要跳转到任意控制器,利用runtime动态生成对象、属性、方法这特性。

    9.插件开发

    通过头文件猜测方法的作用,swizzle这些方法,插入自己的代码实现插件逻辑。

    10.JSpatch热更新

    在线修复版本bug,微信也使用了该技术。

    相关文章

      网友评论

          本文标题:runtime 10种常用用法

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