функция освобождения в xcode 4.1 - PullRequest
1 голос
/ 20 октября 2011

Недавно я пытался изучить цель C для разработки на iphone, однако купил книгу по разработке для iPhone 3, поэтому она устарела.Я заметил различия в компоновке кода из примеров книг и кода по умолчанию для xCode.Мой вопрос связан с функцией -void (dealloc).

Я создал базовый проект, основанный на представлении, и в моей книге говорится, что в моем файле viewController.m есть функция "dealloc"однако в xcode 4.1 нет функции dealloc в viewController.m единственной функции dealloc, которая может быть найдена в файле AppDelegate.m.

Итак, мой вопрос, наконец:

Если я синтезируюпеременная экземпляра в view controller.m

    @synthesize nameField;

затем я должен создать функцию dealloc в viewController.m для освобождения этой переменной следующим образом?

    - (void) dealloc
    {
        [nameField release];
        [numberField release];
        [super dealloc];
    }

1 Ответ

3 голосов
/ 20 октября 2011

Зависит от того, было ли назначено, сохранено или скопировано свойство, которое вы объявили для nameField (вам необходимо изучить руководство по управлению памятью). По сути, если свойство сохраняется или копируется, вы должны освободить его в методе dealloc. В противном случае вы не должны.

...