runtime

作者: iOS小洁 | 来源:发表于2020-12-03 17:44 被阅读0次

runtime

什么是runtime

先给放出个apple官方链接,习惯看英文文档的的直接看这个吧。

根据官方文档来看,我觉得可以将runtime本质理解为一个OC语言操作系统,它将尽可能多的决策从编译时和链接时推迟到运行时。而苹果提供的runtime API则是从这套系统中抽出来的部分接口提供给我们使用。它的实现则是基于消息机制。

了解oc的消息机制首先要了解对象与方法的本质。

clang

对象与方法本质

oc对象本质--结构体

方法本质 -- 发送消息 msg_send

sel 方法名 imp 函数实现的指针 方法签名

实例对象,类对象,元类对象

iskindof ismemberof

self 谁调用就是谁

消息发送

runtime api

NSObject

OC上层 @selector

动态方法解析

消息转发

runtime 使用

切面编程 消息转发编程

数组越界处理 method-swizzling hook objectAtIndex 消息转发返回nil

动态开辟类,添加属性,

instrumentObjectMessageSends

相关文章

网友评论

      本文标题:runtime

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