美文网首页
Runtime交换方法

Runtime交换方法

作者: Pantheraleo | 来源:发表于2020-07-06 14:33 被阅读0次

    开发使用场景:系统自带的方法功能不够,给系统自带的方法扩展一些功能,并且保持原有的功能。

    方式一:继承系统的类,重写方法.

    方式二:使用runtime,交换方法.

    需求:给imageNamed方法提供功能,每次加载图片就判断下图片是否加载成功。

    步骤一:先搞个分类,定义一个能加载图片并且能打印的方法

    + (instancetype)imageWithName:(NSString *)name;

    步骤二:交换imageNamed和imageWithName的实现,就能调用imageName,间接调用imageWithName的实现。

    核心方法class_getClassMethod,method_exchangeImplementations。

    如果交换的是实例方法,用class_getInstanceMethod。

    相关文章

      网友评论

          本文标题:Runtime交换方法

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