OC底层->method

149 阅读1分钟

源码查看

image.png

image.png

  • name
    • 可以理解为函数的名字 比如-(void)test;函数 name 就是test
  • imp
    • 指向函数地址的指针

types

  • 定义了一个无参数无返回值得函数 image.png
  • types = v16@0:8 image.png
    • v = void
    • @ 第一参数 id 类型
    • :第二个参数 SEL
  • OC方法的本质是C语言函数,默认传递两个参数
    image.png
    • void = v image.png
    • int = i image.png
    • id = @ image.png
    • SEL = : image.png
  • 现在做一个有返回值有参数的函数查看types image.png
    • i24@0:8i16f20
      • 第一个i = int
      • @ = id
      • : = SEL
      • i = int
      • f = float
    • 数字就是指参数占多少个字节
      • id = 8 从 0 开始 + 8
      • SEL = 8 从8 开始 + 8
      • int = 4 从 16 开始 + 4
      • float = 4 从20开始 + 4
      • 8+8+4+4 = 24