Цель-C - Нужно ли удалять выделенное свойство, которое не используется? - PullRequest
0 голосов
/ 25 ноября 2010

Если у меня есть пользовательский класс контроллера представления, который я хочу использовать повторно, но при использовании в одном экземпляре имеет сохраняемое свойство, которое фактически не используется в течение жизненного цикла представления, нужно ли его выпускать в dealloc?

Ответы [ 3 ]

2 голосов
/ 25 ноября 2010

Вы должны освободить любые объекты, которые вы размещаете или сохраняете в dealloc.

Если на него ссылаются в конструкторе интерфейсов, вы также захотите освободить и установить значение nil в viewDidUnload () вашего контроллера представления, а также в вашем dealloc.

0 голосов
/ 26 ноября 2010

Можно отправлять сообщения на ноль, поэтому вам нужно просто освободить сохраненные свойства в dealloc, несмотря ни на что.Если свойство не было использовано, оно будет равно нулю, и отправка релиза к нему фактически невозможна.

0 голосов
/ 25 ноября 2010

Вам не нужно вызывать релиз для сохраненного свойства.Метод setter реализован таким образом, что если для него задано нулевое значение, его освободят.В вашем методе dealloc просто установите значение nil:

self.someProperty = nil;
...