我最近在学习OC中的类和对象,有点晕,大家看看我的理解对不对:① 类的方法是放在静态代码区的;
② 类alloc出来的对象,在堆区,是一个由属性和isa组成的结构体,isa指向静态代码区的对应方法;
那么问题来了:
① 类到底有没有开辟新的空间?如果开辟了空间的话,里面放的是什么?
② alloc方法在对象属性还没有创建的时候,是怎么知道属性的细节的?在类开辟的空间里有这样一个属性?还是alloc直接从静态代码区(我假设静态代码区里有类似int a;这样的代码,或者说汇编之后优化的代码)分析出了各属性的尺寸?