ios底层探索
文章平均质量分 92
shuzhi57
这个作者很懒,什么都没留下…
展开
-
001- iOS底层源码探究之alloc、init
首先我们来看一段代码: Person *p1 = [Person alloc]; Person *p2 = [p1 init]; Person *p3 = [p1 init]; Person *p4 = [Person new]; Person *p5 = [p4 init]; NSLog(@"%@ - %@p - %p",p1,p1,&p1); NSLog(@"%@ - %@p - %p",p2,p2,&p2); NSLog(@"%@ - %@p - %p",p3,p3,&p3原创 2021-03-22 11:47:56 · 253 阅读 · 0 评论 -
003- iOS底层源码探究之内存优化(属性重排)
在上一篇文章iOS底层源码探究之结构体、内存对齐中已经证明结构体内存大小与结构体成员内存大小的顺序有关。这里我们来研究在OC中,是怎么来进行内存优化的。 自定义SZPerson类,不定义任何成员变量和属性 - (void)viewDidLoad { [super viewDidLoad]; SZPerson *person = [[SZPerson alloc] init]; NSLog(@"obj对象类型占用内存的大小:%lu",sizeof(person)); .原创 2021-08-10 10:32:03 · 190 阅读 · 0 评论 -
002- iOS底层源码探究之结构体、内存对齐
做开发的听得最多的一句话就是万物皆对象,如果没有,你就new一个。Objective-C是一门面向对象的语言,其中最重要的两个概念就是类和对象,OC中,对象分为三类:instance对象(实例对象)、class对象(类对象)、meta-class对象(元类对象)。今天我们研究的就是实例对象。 ...原创 2021-08-09 10:36:41 · 207 阅读 · 0 评论