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