Runtime相关知识点

2018-09-24  本文已影响0人  彭小先生

Objective-C 是一个动态性很强的语言。编译好的内容在运行的时候的可以改变(Runtime的作用)。动态性就是Runtime API支持的。
Runtime API提供的接口基本都是C语言的,源码由C/C++/汇编语言编写
[图片上传中...(image.png-b0cd34-1532935863840-0)]

前期学习

要想学习Runtime,首先要了解它底层的一些基本数据结构,比如isa指针。

isa指针

isa指针
isa对应位域的含义

class结构

class结构
class_rw_t 可读可写
class_ro_t 只读
method_t的底层结构
method_t里面types中的类型编码
方法缓存

OC的消息机制

objc_msgSend的执行流程
消息发送执行流程
动态方法解析流程
动态添加方法

消息转发机制流程

消息转发流程

什么是Runtime?平时项目中有用过吗

super 面试题

观察super面试题
解析答案
image.png
上一篇下一篇

猜你喜欢

热点阅读