Unrecognized selector 的异常?

iOS开发笔记>> 什么时候会报 Unrecognized selector 的异常?

当调用对象的某个方法的时候, 如果在当前类中没有找到此方法, 那么就到当前类的父类中去寻找, 如果在父类中没有找到, 那么就去父类的父类中去寻找, 一直找到 NSObject 都没有这个方法, 就会报 Unrecognized selector 的异常. 

是在这之前, objc 的运行时会给出三次拯救程序崩溃的机会. 

1,动态添加一个新方法并执行的机会

2,当系统调用上一个方法后未能实现添加新的方法, 则系统会再来调用下面的这个方法, 这个方法是系统提供的一个将 SEL 转给其他对象的机会

3,当 forwardingTargetForselector 返回的 nil 或者 self 时, 会进入到这个方法, 这个方法是拯救程序的最后一步. 

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 当调用对象的某个方法的时候, 如果在当前类中没有找到此方法, 那么就到当前类的父类中去寻找, 如果在父类中没有找到...
    树根曰阅读 3,938评论 0 0
  • 简单来说:当该对象上某个方法,而该对象上没有实现这个方法的时候, 可以通过“消息转发”进行解决。 简单的流程如下,...
    SessionSinGod阅读 3,265评论 0 0
  • 我愿意体贴你 体谅你。 可是我需要你用同样的温柔保护我 我已经有过一次用自己炽热的心去试图温暖别人的经历了 太累了...
    卖萌的糙汉阅读 1,418评论 0 0
  • 从前年轻不懂,一门心思往外走,羞于和人谈来处,即有自以为是的逞强,也有心虚的伪装,急于否定现有的一切,来证明自己与...
    悟懂停阅读 1,162评论 1 0

友情链接更多精彩内容