Вам необходимо освободить (оставленный) объект перед установкой другого объекта или nil в свойстве var, но это делает аксессор, если вам это нравится.
self.myVar = nil;
Что @synthesize делает для автоматического создания методов доступа (если вы их не определяете)
так, если вы написали свою собственность как:
@property (nonatomic, retain) NSObject *property;
тогда вы можете подумать, что синтезированные средства доступа будут чем-то эквивалентным (я сказал эквивалент, потому что мы точно не знаем, как это делается ... для получения дополнительной информации прочитайте документацию ниже) к следующему:
- (void) setProperty:(NSObject *)aProperty{
if(property != aProperty){
[property release];
property = [aProperty retain];
}
}
- (NSObject*) property{
return property;
}
Эта часть очень важна, и я бы посоветовал потратить как можно больше времени, чтобы узнать об этом. (Также прочитайте, скопируйте и назначьте)
Apple Doc на свойства