Управление памятью

У меня есть UIPickerView, который я выделил как автоматически освобождаемый объект, и я использую @property (nonatomic,retain) для себя, чтобы удерживать его. Когда я делаю его видимым, вызывая [self.view addSubview:self.picker], должен ли я после этого вызывать [self.picker release]? Я делал это, но анализатор Xcode говорит: «Неверное уменьшение счетчика ссылок объекта, который в данный момент не принадлежит вызывающему».

Спасибо!


person joshim5    schedule 10.08.2011    source источник


Ответы (2)


Нет. Вы уже автоматически выпустили свой UIPickerView. Я предполагаю, что вы выпускаете ссылку на свойство в методе Dealloc. Это все, что вам нужно сделать. Представление отвечает за подпредставление после того, как вы его назначили.

person csano    schedule 10.08.2011

addSubView: сохраняет подпредставление и освобождает его при удалении (removeFromSuperview). Это происходит неявно. Нет необходимости освобождать явно.

однако, если по какой-либо причине вы сохраните средство выбора, вам придется его освободить (что, похоже, не относится к вашему вопросу).

person Tatvamasi    schedule 10.08.2011