首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
MW299
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
iOS底层探索KVO
KVO简介 苹果官方文档KVO介绍 KVO(Key-value observing)是一种允许对象在其他对象的指定属性发生变化时被通知的机制。 KVO细节 Options Options会影响通知中提
iOS底层探索KVC
KVC的简介 在iOS开发中,可以通过setValue:forKey:对一个对象进行成员变量设值,其原理是什么呢? 在调用setValue:forKey:方法的位置,右键Jump to Definit
iOS底层探索分类关联对象
调试代码准备 1.下载objc818可调试源码 2.main.m文件添加调试代码: 3.将main.m编译成c++文件 类的扩展 VS 分类 1.验证类扩展是否影响类的加载 打开main.cpp文件,
iOS底层探索类的加载(二)
接上篇结尾,提到了类的实现realizeClassWithoutSwift,那么realizeClassWithoutSwift内部干了些什么? 1.调试代码准备 下载objc818可调试源码 2.r
iOS底层探索类的加载(一)
1.调试代码准备 下载objc818可调试源码 2.objc_init分析 2.1.environ_init() 环境变量初始化 环境变量在调试的时候可以控制日志的输出 environ_init部分代
iOS底层探索应用程序加载原理
应用程序会依赖很多的库,包括系统的,如UIKit、CoreFoundation,还有第三方的。 编译过程 源文件经过预编译进行词法语法的分析 将预编译结果编译成汇编 链接库文件生成可执行文件 动态链接
iOS底层探索消息转发
接上篇内容,如果方法的调用,没有实现动态方法决议,那么就会进行消息转发。消费转发分为两个阶段分别如下: 快速转发 要实现快速转发需要在未实现实现动态方法决议的情况下,实现下面函数: 代码演示: ABP
IOS底层探索动态方法决议
_objc_msgForward_impcache处理 上篇文章分析了慢速查找流程,如果递归完父类任然没有找到imp,就将imp = forward_imp,因为 objc源码全局搜索_objc_ms
IOS底层探索慢速查找
缓存找不到汇编分析 汇编查找流程中,MissLabelDynamic是CacheLookup的第三个参数: 也就对应着__objc_msgSend_uncached,全局搜索__objc_msgSen
IOS底层探索CacheLookup汇编分析
上篇objc_msgSend汇编分析得到了class,接着开始查找缓存的分析 CacheLookup汇编分析 CacheLookup的逻辑大概如下: 将isa首地址平移16个字节大小,得到cache_
下一页
个人成就
文章被点赞
58
文章被阅读
32,141
掘力值
977
关注了
1
关注者
17
收藏集
0
关注标签
0
加入于
2021-01-25