Должен ли я выпустить self.view? - PullRequest
1 голос
/ 26 июля 2010

У меня есть вопрос относительно self.view в UIViewController.

Во-первых, в моем приложении все создается программно.И обычно я создаю self.view в методе loadView:

self.view = [[UIView alloc]initWithFrame:SCREEN_FRAME]autorelease]; // SCREEN_FRAME is a constant

На данный момент счет сохранения self.view равен 1.

Итак, мой вопрос, есть ли у меняосвободить self.view, когда я закончу с контроллером представления?Если так, где я должен выпустить это?

Заранее большое спасибо:)

Ответы [ 3 ]

3 голосов
/ 26 июля 2010

Это делается для вас реализацией UIViewController, просто убедитесь, что вы вызываете [super dealloc] в своем методе dealloc.

0 голосов
/ 05 декабря 2011

Просто для справки, кто бы мог это прочитать, приведенный выше ответ не совсем верен. self.view называется alloc, retain и autorelease, при этом общее количество сохранений равно 1. Вызов retain происходит из свойства retain и синтаксиса точки.

Следовательно, он ДОЛЖЕН быть освобожден, но, как указывает willcodejavaforfood, супер реализация dealloc делает это.

Спасибо

0 голосов
/ 26 июля 2010

self.view добавлен пул автоматического выпуска, и объект будет освобожден при его освобождении. вам не нужно выпускать явно. Если вы добавите объект в пул и освободите его вручную, вы получите исключение double dealloc (поскольку объект освобождается дважды)

...