runTime之--交换方法

2016-11-01  本文已影响10人  Hyman0819

Xcode配置:

  1. 让底层方法有提示


    严格检查消息发送
  2. 导入#import <objc/message.h>

      包含
      #include <objc/objc.h>
      #include <objc/runtime.h>
    

原理

  1. 将方法名注册,得到方法编号
  2. 用方法编号去方法列表List中查找,找到方法的实现地址
  3. 用方法地址和方法区中的方法实现是一一对应的


    交换方法

实现步骤

  1. 在load方法中进行方法交换
  2. 自定义方法


    实现
  1. 付Swift中没有load方法,所以在initialize方法进行交换


    Swift

程序五大区

  1. 静态区
  2. 常量区
  3. 方法区

微云网盘:
交换方法demo

上一篇下一篇

猜你喜欢

热点阅读