首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
千同学
掘友等级
iOS
|
小米
小米菜鸟一枚。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
75
文章 74
沸点 1
赞
75
返回
|
搜索文章
最新
热门
(杂记)Swizzing完美实现
1. 用户手动调用load导致swzzling调换回去 2. 子类没有实现父类方法,交换这个子类的该方法,会导致父类方法发生了改变。此时如果调用父类的该方法会导致父类查找不到该方法,导致崩溃 先尝试添加要交换的方法,然后再交换。 所以说swzlling还是别用为好。 3. 子类…
(杂记)__strong 源码
(杂记)weak源码
(杂记)associate底层实现源码注释
(杂记)iOS底层:分类与类的关于是否实现load方法的加载区别
加载区别实现load方法的时候1:懒加载的类+非懒加载的分类-类似-子类实现了-父类伴随这一实现发送消息的时候就去读取-realizeClassWithoutSwift-methodlizeClass
(杂记)iOS底层:类的加载流程
整个程序有两个表保存类:gdb_objc_realized_classes和allocatedClassesgdb_objc_realized_classes:是全部从Maco里面加载的类alloca
(杂记)iOS底层:attachLists
该方法会将新List按照原有顺序添加到旧的List前面并且扩容。 之所以先memmove后memcpy是为了内存安全。memcpy比memmove要快但是不安全。
iOS底层---复写resolveInstanceMethond,且未添加IMP的情况下,会调用两次?
图中D步骤的methodSignatureForSeletor会调用class_getInstanceMethod去查找方法,然而在用class_getInstanceMethod中如果没有发现IMP
(杂记)iOS底层---为什么_resolveMethod中类方法实现两次调用
方法查找会在查找到根源类后返回到根类查找。 这段代码就是为了上述过程而写的。
(杂记)cache_t::find 步骤说明
下一页
个人成就
文章被点赞
73
文章被阅读
28,119
掘力值
773
关注了
25
关注者
26
收藏集
2
关注标签
13
加入于
2019-04-06