首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
前端广成子
掘友等级
web前端开发
|
霍格沃兹魔法学院
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
47
文章 46
沸点 1
赞
47
返回
|
搜索文章
赞
文章( 46 )
沸点( 1 )
iOS探索 alloc流程
data()->ro->instanceSize就是获取这个类所有属性内存的大小。这里只有继承NSObject的一个属性isa——返回8字节 简单画了个示意图,上边是紧紧挨着,下面是8字节为一格。如果cpu存数据的时候紧紧挨着,读取的时候要不断变化读取长度,所以这时候就采用了空…
iOS探索 内存对齐&malloc源码
内存对齐原则其实可以简单理解为min(m,n)——m为当前开始的位置,n为所占位数。当m是n的整数倍时,条件满足;否则m位空余,m+1,继续min算法。 分析:此时此刻看到这么长的一段代码也不用慌张,if-else只走其一。再仔细想想,我们是带着目的来看源码的——malloc_…
iOS探索 cache_t分析
关于cache_t的内容虽然不多但还是蛮绕的,多读读源码会有更深的理解。下篇文章讲objc_msgsend,作为cache_fill_nolock前置方法,一定程序上会对cache_t的理解有所帮助
iOS探索 方法的本质和消息查找流程
①#CACHE是个宏定义表示16个字节,[x16, #CACHE]表示类对象内存地址偏移16字节得到cache。cache一分为二——8字节的buckets存放在p10,两个4字节的occupied和mask存放在p11 防止不断循环的过程中多线程并发,正好缓存更新了。如果bu…
iOS探索 动态方法解析和消息转发机制
使用anInvocation将消息发送到该对象。anInvocation将保存结果,运行时系统将提取结果并将其传递给原始发送者
iOS探索 浅尝辄止dyld加载流程
链接:将目标文件链接成可执行文件。这一过程中,链接器将不同的目标文件链接起来,因为不同的目标文件之间可能有相互引用的变量或调用的函数,如我们经常调用Foundation框架和UIKit 框架中的方法和变量,但是这些框架跟我们的代码并不在一个目标文件中,这就需要链接器将它们与我们…
iOS探索 类的加载过程
Q1:实现了+load的子类ClassA继承于没有+load的父类ClassB,ClassA属于非懒加载类,在_read_images时加载。那么ClassB是什么呢?何时加载?
iOS探索 分类、类拓展的加载过程
④重新跑项目,在第一个断点处打印ro,分类方法已经存在了...
iOS探索 isa面试题分析
面试题是面试官用知识点变着法玩你的一种手段,同时也能表现出你掌握知识的熟练度。只有在平时多练习多研究,才能在面试的时候给面试官留下一个好的印象
iOS探索 runtime面试题分析
里面虽然可以添加属性变量,但是这些properties并不会自动生成Ivar,也就是不会有 @synthesize的作用,dyld加载期间,这些分类会被加载并patch到相应的类中。这是一个动态过程,Ivar不能动态添加 然而程序还是无情的崩了... 其实在iOS中NSNumb…
下一页
关注了
13
关注者
1
收藏集
1
关注标签
7
加入于
2018-12-20