Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Функция освобождения в xcode 4.1

Автор вопроса: user1005240Ответов: 1

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

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

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

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

    @synthesize nameField;

затем мне создать функцию Dealloc в viewController.m, чтобы освободить эту переменную?

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

iphoneobjective-creleasedealloc

Ответы

Ответ 1 · рейтинг 3 · jbat100

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы