在我的最後一個問題(here)後釋放三分球,我有我在那裏得到一個EXC_BAD_ACCESS因爲我在釋放我剛剛分配的變量的一個問題:澄清關於何時分配
NSMutableArray* s = [[NSMutableArray alloc] init];
stack = s;
[s release];
應該是
NSMutableArray* s = [[NSMutableArray alloc] init];
stack = s;
但是,堆棧是我的班級的保留屬性。它宣稱,像這樣:
@interface StateStack()
@property (nonatomic, retain) NSMutableArray* stack;
@end
我的印象是,當你分配一個「保留」變量,它會自動遞增對象的retainCount下。所以你應該開始釋放你的指針(如here)。
這兩種情況爲什麼不同?謝謝!
[不同之間self.myIvar和myIvar?](http://stackoverflow.com/questions/3755108/different-between-self-myivar-and-myivar) –
[mmalc的回答](http:///stackoverflow.com/questions/156243/object-allocate-and-init-in-objective-c/167783#167783)對你鏈接的問題也回答你的問題。 –