IOS面试题object-c 116-120

116. 简述什么是 method swizzling ?
在 Objective-C 中调用一个方法,其实是向一个对象发送消息,查找消息的唯一依据是 selector 的名字
利用 Objective-C 的动态特性,可以实现在运行时偷换 selector 对应的方法实现,达到给方法挂钩的目的。
每个类都有一个方法列表,存放着方法的名字和方法实现的映射关系,selector 的本质其实就是方法名IMP
有点类似函数指针指向具体的 Method 实现,通过 selector 就可以找到对应的 IMP。
换方法的几种实现方式
 利用 method_exchangeImplementations 交换两个方法的实现
 利用 class_replaceMethod 替换方法的实现
 利用 method_setImplementation 来直接设置某个方法的 IMP
🚀🚀🚀🚀🚀🚀
117. 简述runtime 如何通过 selector 找到对应的

相关推荐

  1. IOS面试object-c 116-120

    2024-03-20 00:30:03       21 阅读
  2. IOS面试object-c 126-130

    2024-03-20 00:30:03       19 阅读
  3. IOS面试object-c 101-110

    2024-03-20 00:30:03       16 阅读
  4. IOS面试object-c 146-150

    2024-03-20 00:30:03       19 阅读
  5. IOS面试object-c 136-140

    2024-03-20 00:30:03       17 阅读
  6. IOS面试object-c 111-115

    2024-03-20 00:30:03       17 阅读
  7. IOS面试object-c 121-125

    2024-03-20 00:30:03       18 阅读
  8. IOS面试object-c 91-100

    2024-03-20 00:30:03       20 阅读
  9. IOS面试object-c 11-20

    2024-03-20 00:30:03       19 阅读
  10. IOS面试object-c 1-10

    2024-03-20 00:30:03       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 00:30:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 00:30:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 00:30:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 00:30:03       18 阅读

热门阅读

  1. ZCC5429 异步升压芯片

    2024-03-20 00:30:03       18 阅读
  2. 学完Efficient c++ (46-47)

    2024-03-20 00:30:03       19 阅读
  3. MyBatis:枚举类型与字符串比较

    2024-03-20 00:30:03       21 阅读
  4. opencv4 如何截取子图象

    2024-03-20 00:30:03       22 阅读
  5. 思科防火墙如何配置静态NAT

    2024-03-20 00:30:03       18 阅读
  6. 作用域(词法作用域)

    2024-03-20 00:30:03       22 阅读
  7. 聚合函数和GROUP BY

    2024-03-20 00:30:03       19 阅读
  8. LeetCode第389场周赛个人题解

    2024-03-20 00:30:03       20 阅读
  9. ocp考试通过率如何?ocp考试内容有哪些?

    2024-03-20 00:30:03       32 阅读