iPhone: делегат ModalViewController

У меня возникла проблема с установкой свойства делегата для ViewController, которое представлено модально. Приведенный ниже код представляет собой измененную копию кода примера для Представление контроллера представления в модальном режиме.

            AddContactPersonTableViewController *addController = [[AddContactPersonTableViewController alloc] initWithNibName:@"AddContactPersonTableViewController" bundle:nil];
            addController.delegate = self;

            UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addController];
            [self presentModalViewController:navigationController animated:YES];

            [navigationController release];
            [addController release];

Для addController.delegate = self; есть ошибка: «Запрос члена« делегата »в чем-то, что не является структурой или союзом»

Я не знаю, как это решить. Может быть, вы можете решить это ;)


person new-iphone-dev    schedule 23.09.2010    source источник


Ответы (2)


Так выглядит ваш AddContactPersonTableViewController.h. Вы добавили протокол делегата в этот класс? Вам нужно установить делегата? Вероятно, вам даже не нужно этого делать, если вам не нужен предыдущий контроллер представления для выполнения каких-либо действий при отклонении нового контроллера представления или что-то в этом роде.

person LarsJK    schedule 23.09.2010
comment
Я думаю, мне нужно это свойство. После закрытия ModalViewController введенные данные должны быть сохранены в массиве (атрибут экземпляра предыдущего контроллера представления). - person new-iphone-dev; 23.09.2010
comment
Да, если это так, вы должны использовать делегата. - person LarsJK; 23.09.2010

AddContactPersonTableViewController должен иметь объявленное свойство, называемое делегатом, в вашем файле .h, например:

идентификатор делегата;

У делегата также должен быть допустимый установщик: @property (неатомный, сохраняемый) идентификатор делегата;

person Marcus    schedule 23.09.2010
comment
ооо.. Я забыл объявить свойство, называемое делегатом. - person new-iphone-dev; 23.09.2010
comment
Что ж, свойство делегата обычно определяется как (неатомарное, присвоить), а не (неатомарное, сохранить). Делегаты не должны задерживаться. - person manicaesar; 21.01.2011