首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
王国
掘友等级
iOS开发
|
杭州贝嘟科技有限公司
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
76
文章 76
沸点 0
赞
76
返回
|
搜索文章
最新
热门
OC 消息查找流程
objc_msgSend在源码中是用汇编实现的,原因应该是 objc_msgSend的使用频率非常高,几乎所有的oc方法的调用都会使用,所以对速度的要求非常高;这个角度看objc_msgSend使用汇编实现就可以理解了。 快速查找流程在汇编宏CacheLookup中,所谓快速查…
OC 方法的本质
sel_registerName函数的作用是向runtime注册一个方法名;如果方法名已经注册,则放回已经注册的SEL。 objc_msgSend就是消息发送的实现API,通过源码搜索发现objc_msgSend的具体实现是通过汇编完成,OC中所有的消息发送都会调用该方法,这样…
OC方法缓存cache_t 探索
1. buckets() 2. mask() 3. occupied() 4. incrementOccupied() 5. setBucketsAndMask(,) 6. initializeToEmpty() 7. capacity() 扩容算法需要:expand()中的扩…
OC类的结构 objc_class
1. 准备工作 找到类对象 2. 类对象内存数据 3. 确定各个数据的偏移量 其中 cache_t 和 bits 的是结构体不是指针,struct大小根据成员的大小而变换。 4. 偏移到 bits 查看 5. 查看 class_rw_t 中的数据 6. class_rw_t.p…
NSObject +alloc做了什么
1. 从objc_alloc开始 2. callAlloc 3. class_createInstance 3. instanceSize ####4. InitIsa 5. +alloc
isa在对象中的作用
存储类指针的值。开启指针优化的情况下,在 arm64 架构中有 33 位用来存储类指针 没有弱引用的对象可以更快释放。 当表示该对象的引用计数值,实际上是引用计数值减 1, 例如,如果对象的引用计数为 10,那么 extra_rc 为 9。如果引用计数大于 10, 则需要使用到…
个人成就
文章被点赞
3
文章被阅读
4,595
掘力值
142
关注了
22
关注者
7
收藏集
6
关注标签
15
加入于
2017-05-31