美文网首页runtime.runloop
Runtime替换方法的风险

Runtime替换方法的风险

作者: 梁森的简书 | 来源:发表于2021-03-12 15:01 被阅读0次

    1

    需要在+load方法中进行方法替换,且只执行一次(使用dispatch_once)。这样做有两点
    1.防止在其他线程中调用替换方法
    2.防止手动调用load方法

    2

    被替换的方法必须是当前类的方法,如果替换了父类的方法,父类在调用方法的时候会出错(https://www.jianshu.com/p/b5e28d402834)。

    3

    交换的方法如果依赖了 cmd,那么交换后,如果 cmd 发生了变化,就会出现各种奇怪问题,而且这些问题还很难排查。特别是交换了系统方法,你无法保证系统方法内部是否依赖了 cmd

    4

    方法交换命名冲突。如果出现冲突,可能会导致方法交换失败

    相关文章

      网友评论

        本文标题:Runtime替换方法的风险

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