首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
旷工2991号
掘友等级
iOS工程师
iOS研发
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
15
文章 14
沸点 1
赞
15
返回
|
搜索文章
最新
热门
iOS-类的结构分析
1:isa 联合体(union)是互斥的,cls 与 bits 的初始化是互斥的。 类和元类的创建是在编译期。(验证:断点在main函数前,lldb打印 p/x、x/4xg打印类&元类的指针;machoView查看) struct objc_class : objc_objec…
iOS-OC对象的本质
OC对象经过编译后在底层是一个结构体 struct。 使用clang命令可以将我们的OC源文件转译成cpp文件。 发现转译后的LGPerson为objc_object类型,查看Runtime源码,objc_object为带有isa的struct类型。 由此可知,OC对象的本质为…
iOS-isa的初始化&指向分析
一个NSObject对象的第一个属性必然是isa。 从源码中得知 cls = isa.bits & ISA_MASK,根据这个可以打印对象的 isa & ISA_MASK 判断是否与类的地址相同,来验证isa 的走位是否正确。 至此以上sample验证isa走位图。
iOS-isa结构
对象在底层是一个struct,isa为Class类型,实为联合体unionisa_tisa的位域(bitfield)标志
iOS-内存对齐原则
1:结构体(struct) and 联合体(union)的数据成员,第一个数据成员放在offset为0的位置,后面每个数据成员存储的位置要从该成员size or 其子成员size(只要该成员有子成员,比如array,struct) 的整数倍开始(比如int为4字节,则要从4的整…
lldb指令集
register read x0 :读取汇编里面的 寄存器x0。(x0 - x7 一般放置 参数,x0 也会存储返回的地址) po:打印object。 P: 打印地址。 X0:指64位的 ; w8,w9:指32位的。 x / p : 以16进制打印 p 的内存空间。iOS小端模…
iOS - alloc探索发现
alloc开辟内存空间,初始化isa,返回实例对象。 选择对应的版本下载,最新为objc756.2,可在开源文件中找到对应的objc4等文件。objc4编译成功需要相应的系统文件支持。 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存…
iOS - alloc流程图
alloc流程分析图ps:alloc流程分析图
iOS-内存对齐算法解析
PS:内存对齐为 &运算,需要转化为二进制来计算。可使用二进制计算机计算
个人成就
文章被点赞
8
文章被阅读
11,424
掘力值
281
关注了
6
关注者
1
收藏集
1
关注标签
25
加入于
2016-01-13