Попробуйте узнать о properties
и об использовании геттеров и сеттеров. Не используйте ярлыки, если точно не знаете, что происходит.
Итак, определите свойство playerArray4th
в заголовочном файле:
@property (nonatomic,retain) NSArray *playerArray4th;
А затем в вашем .m
файле создайте getter / setter:
@synthesize playerArray4th;
Тогда всегда используйте self.playerArray4th
для присвоения и получения переменной. Предыдущие объекты будут освобождены при необходимости.
Так что это не будет течь:
self.playerArray4th = [NSArray arrayWithObjects:@"text",@"text",nil];
self.playerArray4th = [NSArray arrayWithObjects:@"new array",@"text",nil];
потому что второе назначение освобождает первый массив.
Кроме того, прочитайте об использовании autorelease
. Короче говоря, если вы alloc
, copy
или new
, вам следует либо release
, либо autorelease
. Здесь можно многое прочитать об этом, поэтому я не буду повторяться здесь и сейчас.
Не забудьте указать self.playerArray4th = nil;
в вашем методе dealloc
.