Проблема в переменных вашего экземпляра.В вашем -init
вы правильно присваиваете им копии строк из массива.Тем не менее, вам также необходимо выпустить их в -dealloc
.
-(void) dealloc
{
[zoneName release];
[lsdName release];
[standLat release];
[standLong release];
[super dealloc];
}
Теперь вы можете спросить, почему инструмент утечки сообщает вам, что утечки - это то, где вы создаете NSArray
со строкамивместо метода init.Причина в том, что -copy
для неизменяемых объектов оптимизировано, чтобы ничего не делать, кроме отправки retain на self
.Таким образом, те копии, которые у вас есть в качестве переменных экземпляра, в действительности являются теми же объектами, что были созданы -componentsSeparatedByString: