Мне нужно отправить данные в родительский контроллер; поэтому (в родительском) я создал метод setLocWithName: loc:
для этого. Как создать объект, являющийся родительским контроллером? Я попытался parentViewController
, а также presentingViewController
(как показано ниже), но я получаю предупреждение:Как установить родительский контроллер представления как объект, чтобы я мог вызвать один из его методов?
Несовместимые типы указателей инициализации «TDViewController * __ сильный» с выражением типа "UIViewController *
// set object of parent view controller
TDViewController *tDViewController = [[self navigationController] presentingViewController];
// get data
NSArray *locs = [[PLStore sharedStore] allLocs];
PL *setselectedLoc = [locs objectAtIndex:[indexpath row]];
// send data to parent view controller
[tDViewController setLocWithName:[setselectedLoc pLocName] loc:[setselectedLoc loc1]];
// Pop this view controller off the stack
[self.navigationController popViewControllerAnimated:YES];
Что вы подразумеваете под «родителем»? Вам нужно описать, какие контроллеры у вас есть, и как они соотносятся друг с другом. – rdelmar
Я знаю только как родительское дочерние отношения, но у меня есть навигационный контроллер (я не уверен, что контроллер корневого представления нажимает поверх этого или как это работает, но я отвлекаюсь.) Затем контроллер корневого представления родительский элемент для TDViewcontroller («дочерний» к контроллеру корневого представления). TDViewController помещается в конец контроллера корневого представления, и этот PLViewController является «дочерним» для TDViewController. – FireSky
. Ну, это не правильная терминология. Контроллеры в стеке навигации не имеют отношения родитель-потомок с друг друга (лучше подумать о братьях и сестрах, я думаю). Итак, ваша структура: UINavigationController -> rootVC -> TDViewController -> PLViewController? Какой контроллер - код, который вы отправили, PLViewController? – rdelmar