美文网首页
消息转发机制原理?

消息转发机制原理?

作者: Adam_潜 | 来源:发表于2018-12-09 16:27 被阅读3次
消息转发即止基本上分为三个步骤
1. 动态方法解析
2. 备用接受者
3. 完整转发
1. 动态方法解析

解析类方法
给这个类增加一个方法, 指定方法和IMP

解析实例方法
给self增加一个方法, 指定方法和imp
2. 备用接受者

当前动态方法解析无法处理消息, 
则会走备用接受者, 
这个备用接受者只能是一个新的对象, 
否则会出现自我无线循环

如果没有指定的对象来处理selector, 
那就调用父类的实现来返回结果.
3. 完整转发

如果动态方法解析和备用接受者都没有处理这个消息, 
那么会走完整的消息转发. 

iOS runtime探究(二): 从runtime开始深入理解OC消息转发机制
https://www.jianshu.com/p/eac6ed137e06
OC的实例方法在转写为C语言后实际就是一个函数,但是OC并不是在编译期决定调用哪个函数,而是在运行期决定,因为编译期根本不能确定最终会调用哪个函数

Person *p = [Person alloc];
Person *p = objc_msgSend(objc_getClass("Person"), sel_registerName("alloc"));

相关文章

  • 消息转发机制原理

    消息转发机制基本分为三个步骤: 1、动态方法解析新建一个HelloClass的类,定义两个方法: 对象在接收到未知...

  • 消息转发机制原理

    转自Leesim的博客,mark一下,方便以后查阅 原文地址 https://www.jianshu.com/p/...

  • 消息转发机制原理?

    iOS runtime探究(二): 从runtime开始深入理解OC消息转发机制https://www.jians...

  • Runtime

    相关简单介绍 消息机制消息传递机制消息转发机制-动态添加方法消息转发机制-快速转发消息转发机制-慢速转发消息转发机...

  • iOS 消息转发机制

    今天大概学习了下iOS的消息转发机制,还是挺有收获,在此做下笔记,以便后面温习。 1.iOS的消息转发机制原理如下...

  • runtime系列文章总结

    《iOS Runtime详解(消息机制,类元对象,缓存机制,消息转发)》《消息转发机制与Aspects源码解析》《...

  • iOS NSProxy消息转发

    NSProxy的消息转发机制,实现原理在GNUstep Base[http://www.gnustep.org/r...

  • iOS底层原理:消息转发机制

    在 iOS底层原理:objc_msgSend之缓存查找[https://www.jianshu.com/p/195...

  • iOS消息转发机制

    消息转发机制: 消息转发机制是相对于消息传递机制而言的。 1、消息(传递)机制 RunTime简称运行时。就是系统...

  • 《Effective Objective-C 2.0 》 阅读笔

    第12条:理解消息转发机制 1. 消息转发机制 当对象接收到无法解读的消息后,就会启动“消息转发”机制,开发者可经...

网友评论

      本文标题:消息转发机制原理?

      本文链接:https://www.haomeiwen.com/subject/iuhkhqtx.html