Runtime相关知识点

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,776评论 0 9
  • Runtime是什么 Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我...
    SuAdrenine阅读 900评论 0 3
  • 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的...
    西木阅读 30,643评论 33 466
  • 参考链接: http://www.cnblogs.com/ioshe/p/5489086.html 简介 Runt...
    乐乐的简书阅读 2,158评论 0 9
  • 转载:http://yulingtianxia.com/blog/2014/11/05/objective-c-r...
    F麦子阅读 771评论 0 2