1.内存布局 内核区:假设在4GB的手机内存中,通常我们使用的只有3GB,而另外的1GB则交给内核区去处理; 栈:通过寄存器直接读取内存(函数,...
1.内存布局 内核区:假设在4GB的手机内存中,通常我们使用的只有3GB,而另外的1GB则交给内核区去处理; 栈:通过寄存器直接读取内存(函数,...
1. block的分类 1. NSGlobalBlock我们通常把内存分为五大区,堆区,栈区,全局静态区,常量区,代码区,当我们定义一个普通的b...
1. 从汇编探索weak 我们常用weak来进行弱引用对象,是因为它在释放的时候自动置空,打破循环引用。 从 → → 打开汇编调试,运行代码: ...
1. Category与Extension 1.1 category:类别,分类 专门用来给类添加新的方法; 不能给类添加成员属性,添加了成员变...
1.isa结构 在NSObject内会自带一个属性isa,这个isa在底层里其实是一个联合体,其结构如下所示: 其中,ISA_BITFIELD作...
1.类的结构定义 我们在main.m文件中写一段简单的代码: 然后,我们打开终端cd到当前main.m的上层文件夹中,使用clang命令: 这时...
1.alloc的功能 先上一段简单的代码如下: 输出: 打印结果: 上述打印结果中,可以看出p1、p2、p3打印的对象以及内存地址相同,这个结果...
1. 对象内存对齐 在我们进行alloc一个对象的时候,通过源码[https://www.jianshu.com/p/08079ea2dbae]...
1. isa在alloc中的实现 在alloc探索[https://www.jianshu.com/p/08079ea2dbae]的过程中,我们...
1.类方法 输出 1.1 isKindOfClass 源码实现: 在源码+ (BOOL)isKindOfClass:(Class)cls方法中设...
专题公告
笔记