Вы всегда должны сбалансировать уравнение управления памятью, в противном случае возможны утечки памяти.
В вашем примере это зависит от политики управления памятью xyz.
Если у xyz есть сохранениеполитика, у вас есть счет отсчета двух.Это распространенная ошибка, и у вас есть утечка памяти.
@property (retain, nonatomic) SomeClass* xyz;
Если у xyz есть политика назначения, вы не увеличиваете счет сохранения
@property (assign, nonatomic) SomeClass* xyz;
В заключение, если вы используетеполитика сохранения, второй предоставленный вами фрагмент - правильный путь.Очевидно, вы должны помнить об освобождении этого свойства в методе dealloc.
- (void)dealloc
{
[xyz release];
[super dealloc];
}
Надеюсь, это поможет.