我是一个 Objective-c 新手,我只是不明白为什么释放不属于我的对象是个坏主意。
假设我在名为的方法中有这个Europe
//initForStringTheory is a class init method;
Collider *LHC = [Collider initForStringTheory];
//Colliders is a NSMutableArray
[Colliders addObject: LHC]
[LHC release]
建议我不要LHC
在Europe
as Europe
does not own中发布LHC
,它只有一个指向它的指针。因此我应该充分利用自动释放池并做
//newCollider is a pointer for the newly created instance in initForStringTheory
return [newCollider autorelease];
在initForStringTheory
. 但为什么?
指针不是也指向Europe
实例吗?为什么我不能只释放LHC
而不是在 init 方法Europe
中返回自动释放?newCollider