首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
举报沸点
请选择举报理由
和话题不符
恶意攻击谩骂
广告营销
MW299
掘友等级
关注
私信
获得徽章 0
动态
文章
专栏
沸点
收藏集
0
关注
赞
0
文章 0
沸点 0
资讯 0
赞
0
关注
返回
|
搜索文章
MW299
1年前
关注
iOS底层探索KVO
KVO简介 苹果官方文档KVO介绍 KVO(Key-value observing)是一种允许对象在其他对象的指定属性发生变化时被通知的机制。 KVO细节 Options ...
赞
评论
分享
MW299
1年前
关注
iOS底层探索KVC
KVC的简介 在iOS开发中,可以通过setValue:forKey:对一个对象进行成员变量设值,其原理是什么呢? 在调用setValue:forKey:方法的位置,右键J...
1
1
分享
MW299
1年前
关注
iOS底层探索分类关联对象
调试代码准备 1.下载objc818可调试源码 2.main.m文件添加调试代码: 3.将main.m编译成c++文件 类的扩展 VS 分类 1.验证类扩展是否影响类的加载...
赞
评论
分享
MW299
1年前
关注
iOS底层探索类的加载(二)
接上篇结尾,提到了类的实现realizeClassWithoutSwift,那么realizeClassWithoutSwift内部干了些什么? 1.调试代码准备 下载ob...
2
2
分享
MW299
1年前
关注
iOS底层探索类的加载(一)
1.调试代码准备 下载objc818可调试源码 2.objc_init分析 2.1.environ_init() 环境变量初始化 环境变量在调试的时候可以控制日志的输出 e...
5
1
分享
MW299
1年前
关注
iOS底层探索应用程序加载原理
应用程序会依赖很多的库,包括系统的,如UIKit、CoreFoundation,还有第三方的。 编译过程 源文件经过预编译进行词法语法的分析 将预编译结果编译成汇编 链接库...
2
1
分享
MW299
1年前
关注
iOS底层探索消息转发
接上篇内容,如果方法的调用,没有实现动态方法决议,那么就会进行消息转发。消费转发分为两个阶段分别如下: 快速转发 要实现快速转发需要在未实现实现动态方法决议的情况下,实现下...
2
1
分享
MW299
1年前
关注
IOS底层探索动态方法决议
_objc_msgForward_impcache处理 上篇文章分析了慢速查找流程,如果递归完父类任然没有找到imp,就将imp = forward_imp,因为 objc...
2
1
分享
MW299
1年前
关注
IOS底层探索慢速查找
缓存找不到汇编分析 汇编查找流程中,MissLabelDynamic是CacheLookup的第三个参数: 也就对应着__objc_msgSend_uncached,全局搜...
赞
评论
分享
MW299
1年前
关注
IOS底层探索CacheLookup汇编分析
上篇objc_msgSend汇编分析得到了class,接着开始查找缓存的分析 CacheLookup汇编分析 CacheLookup的逻辑大概如下: 将isa首地址平移16...
3
1
分享
MW299
关注了
Cooci
MW299
1年前
关注
IOS底层探索方法的本质
方法的本质 1.准备测试代码: 2.编译成.pp文件 3.打开main.cpp文件分析: 在入口main方法中,调用了alloc方法和saySomething方法,在产生的...
2
评论
分享
MW299
1年前
关注
IOS底层探索Cache_t
Cache_t的数据结构 1.下载objc818可调试源码 2.在main.m文件添加如下代码: 3.通过lldb调试Cache_t的数据结构 p/x pClass获取类对...
1
评论
分享
MW299
1年前
关注
IOS底层探索运行时类的变化
类的数据结构在运行时中的变化 WWDC 2020视频中有详细介绍 Class on disk 在磁盘上,App二进制文件中类如图中MYClass一样,包含指向元类、超类、方...
1
评论
分享
MW299
1年前
关注
iOS底层探索类的本质
ISA走位 定义一个继承NSObject的类ABPerson,通过lldb命令查看其ISA的指向。 实例对象的ISA指向类对象 p/x p打印实例对象p的地址 x/4gx ...
2
1
分享
MW299
1年前
关注
iOS底层探索对象的本质&NONPOINTER_ISA
1.编译器Clang的使用 使用Clang将main.m文件编译成C++文件 遇到UIKit报错问题: 解决clang编译遇到UIKit报错的两种方式: 第一种是配置sdk...
4
1
分享
MW299
1年前
关注
结构体内存对齐
影响对象内存的因素 思考:影响对象内存的因素有哪些?属性、成员变量、方法 ? ABPerson没有添加任何属性、成员变量、方法,输出是8,这是isa占用的8个字节 添加方法...
1
评论
分享
MW299
1年前
关注
iOS底层探索alloc流程
准备工作 1.苹果objc源码下载 2.源码编译 3.准备调试代码: 底层探索的三种分析方法 第一种是通过符号断点去定位 1.添加一个alloc符号断点,步骤如下: 2.在...
4
1
分享
MW299
1年前
关注
Dead Code Stripping
比较main函数内不使用注释部分代码和使用注释部分代码区别: 使用objdump --macho -d 查看__TEXT段 使用objdump --macho -d 查看_...
赞
评论
分享
MW299
1年前
关注
动态库与静态库(二)
库与库的链接有下列四种形式,下面分别进行项目演示: 动态库链接动态库 App链接动态库,动态库链接AFNetworking 1.创建工程MyApp 2.添加一个Target...
1
评论
分享
下一页
个人成就
文章被点赞
53
文章被阅读
21,737
掘力值
905
关注了
1
关注者
17
收藏集
0
关注标签
0
加入于
2021-01-25
温馨提示
当前操作失败,如有疑问,可点击申诉