iOS开发 之 消息转发机制

原创 2017年01月02日 22:09:41

OC是一门动态的语言,在发送消息时我们可以使用[aInstace performSelectot…];
那么问题来了,如果一个对象没有这个方法,将会运行时崩溃,这个时候为了避免崩溃,我们可以利用消息转发机制,避免崩溃的发生,具体的实现方法网上太多,那么如果事先不知道selector的所有可能怎么办呢?我们同样可以利用runtime,拿到一个类的方法列表,如果这个selector在方法列表中,就执行performSelector方法,否则,doNothing。

我们可以通过消息转发机制完成OC的多继承,可以在这个类添加其余类的实例对象,然后在forward方法中人会对应类的实例即可

未完待续。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS开发--利用NSProxy实现消息转发-模块化的网络接口层设计

前言 之前在做项目的时候,所有业务的网络接口方法,全部都写在了一个文件里面,一开始还好,毕竟每个方法的代码也只是十几行,增加、修改也比较容易。但是随着接口的增多,这个文件慢慢居然超过了1000行,...

iOS开发-OC之知识树,知识点(包括对象、Block、消息转发、GCD、运行时、runloop、动画、Push、KVO、tableview,UIViewController、提交AppStore)

本文旨在总结iOS知识网络,知识点,该知识网络罗列出常见UIKit、Foundation的对象特点和一些使用经验,可以看成是一本书;文本编辑采用树的形式,对知识点进行罗列,并标注一些使用经验(★)希望...

iOS开发 -- Objective-C 消息转发

OC中的方法调用其实是runtime时才决定的,

ios runtime消息转发机制

  • 2017年10月31日 15:36
  • 37KB
  • 下载

iOS 开发 深入浅出Rumtime运行时之消息转发机制详解

在Objective-C中,使用对象进行方法调用是一个消息发送的过程(Objective-C采用“动态绑定机制”,所以所要调用的方法直到运行期才能确定)。点击这里查看 – 深入浅出Rumtime运行时...

iOS消息转发机制在项目中的应用

  • 2014年09月11日 09:35
  • 29KB
  • 下载

iOS的消息转发机制详解

iOS开发过程中,有一类的错误会经常遇到,就是找不到所调用的方法,当然这类问题比较好解决,给当前对象或其父类对象添加该方法即可,使得编译器在编译时能正确找到该方法;或者,还有另外的方法,由于Objec...

[iOS]使用NSProxy实现消息转发机制,模拟多重继承

Objective-C不支持多重继承,但是我们可以使用NSProxy的消息转发机制,来转发可由其它类的对象处理的任务,达成同样的目的。 Xcode的Documentation中有示例(搜索Forwa...

IOS消息转发机制

一 概述      在编译期向类发送了其无法解读的的消息并不会报错,因为在运行期可以继续让类中添加方法,所有编译器在编译时还无法确知类中到底会不会有某个方法实现,当对象接收到无法解读的消息后,就会...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发 之 消息转发机制
举报原因:
原因补充:

(最多只允许输入30个字)