首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS中高级进阶专题
weak_PG
创建于2021-07-16
订阅专栏
该专栏系统输出了iOS底层原理探究,由浅入深,层层递进。 后续更新Flutter、Swift进阶、数据结构和算法等
等 75 人订阅
共71篇文章
创建于2021-07-16
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
OC底层原理探索之类的加载原理下
read_images-> readClass(名字和类对应上)-> realizeClassWithoutSwift(ro.rw.supCls.isa) -> methodizeClass -> p
OC底层原理探索之alloc底层探究
寻找alloc方法底层的三种方式 我们直接上代码看下,创建一个OC工程,在ViewController里面实例化一个Person类,探究alloc的底层调用可以结合三种方式 1.符号断点,按住co
OC底层原理探索之类的加载原理上
_objc_init入口 通过上篇文章的介绍我们知道dyld记载的images只是库,那么我们的库是如何加载到内存中去的呢,也就是如何把mach-o文件地址读取出来存到相应的内存中。 images(m
OC底层原理探索之应用程序加载
应用程序的加载 库:可执行的二进制文件,可以被系统加载到内存。库分为两种,一种是静态库,一种是动态库(.so .dll .framework...) 静态库:按顺序加载,可能会重复添加 动态库:当用到
OC底层原理探索之消息转发流程
instrumentObjcMessageSends 上一篇有讲到这个方法,那么这个方法的由来? lookUpImpOrForward->log_and_fill_cache -> objcMsgLo
OC底层原理探索之消息动态决议
initialize 顺着这个方法我们能发现系统在最开始的时候已经默认加载了当前类的initialize的方法,一共有3个方法会自动调用: 初始化/load/c++的构造函数 unrecognized
OC底层原理探索之汇编objc_msgSend原理分析
arm64 cache_t inset的do while算法 向前存储,一直找到0号位置,如果找到了0号位置就从mask从新开始。如果一直找不到就退出insert循环,bad_cache(receiv
OC底层原理探索之cache_t分析
memberOf和kindOf 打开debug源码分析发现底层kindOf走的是这个方法,其实就是isa的走位图 这里分为两种情况: 传入的是obj类 元类VS当前类 || 根元类(元类的父类) VS
OC底层原理探索之类的原理分析下
类的结构 WWDC2020视频地址-> WWDC类的结构 cleanMemory:加载之后不会变化的内存,class_ro_t就是,因为它是只读的 dirtyMemory:运行时会发生改变的内存,类结
OC底层原理探索之类的原理分析上
isa走位 由上可以得到0x0000000100008360 VS 0x0000000100008338 = Person,我们是不是可以猜测内存中其实不止一个类?验证一下 经过上面验证,我们发现类的
OC底层原理探索之OC类原理
对象的本质 在main中新建一个Teacher类,cd到当前的main.m文件,输入命令clang -rewrite-objc xxx.m ,如果此时报以下错误 请重新输入clang -x objec