Перейдите к другому контроллеру представления из подпредставления

Я пытаюсь перейти от подвида к другому контроллеру представления.

Я добавляю свое подвид, как показано ниже,

EducatorDetailsViewController (представление для родителей)

adultV=[[AdultOccupantV alloc]init];
adultV.frame = CGRectMake(0, 0, 1024, 768);
adultV.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
adultV.delObj=self;
adultV.hidden=YES;
[self.view addSubview:adultV];

Я попытался перейти к моему LoginViewController из подвида, используя приведенный ниже код.

LoginVC *login =[[LoginVC alloc] init];
[self.navigationController pushViewController:login animated:YES];

Но этот код выдает ошибку, потому что для подвида нет навигационного контроллера. Я нашел аналогичный вопрос здесь, который был задан несколько лет назад. На самом деле есть ответ, но я не мог понять ответ, так как я очень новичок в Objective C. Будет очень здорово, если кто-нибудь поможет мне найти способ перейти от подпредставления к другому контроллеру представления.


person udi    schedule 06.06.2016    source источник


Ответы (1)


Существует шаблон проектирования, называемый шаблоном прокси или шаблоном делегата. Вы можете проверить это в вики.

В нашем примере представление не должно выполнять действия навигации, но это делает суперконтроллер представления. Таким образом, ViewController должен быть делегатом вашего представления.

person Klein Mioke    schedule 06.06.2016
comment
Спасибо за ответ. Но не могли бы вы объяснить это немного подробнее. Можете ли вы привести пример кода? - person udi; 06.06.2016
comment
Наконец-то я смог решить проблему с помощью вашего ответа. Большое спасибо. - person udi; 06.06.2016