classA{
classB objB=[[classB alloc]init];
objB.hasAnotherRef=self;
}
classB{
classA hasAnotherRef;
}
从上面发生什么时,classA本身分配给classB ivar hasAnotherRef?同时将一个对象分配给另一个对象,确实发生了什么,保留或整个对象的副本?
我的问题是
CLASSA有CLASSB,然后再CLASSB有CLASSA通过 objB.hasAnotherRef =自我;这一行。
那么classA和classB的对象的大小是多少?
我很困惑。
哪个是规模最大的?
实际上,一个指针的大小加上任何超类的大小,加上每个类的“基础”结构objc_object的大小。这最后给每个对象一个更多的指针参数,称为'isa',它是一个指向对象'Class'的指针。 – 2011-03-18 16:08:31
@Jim Dovey:好点。我特别省略了超类以避免开销,但我应该提到'isa'指针。 – 2011-03-18 16:28:41