Мне было интересно, как правильно использовать раскадровку для установки контроллера представления модально. Лично я предпочитаю работать с xibs, но похоже, что раскадровка набирает популярность и будет хорошим выходом в будущем.
Способ, которым я обычно устанавливал бы контроллер представления модально, был бы следующим: допустим, у нас есть ViewControllerA (A для краткости) и ViewControllerB (B для краткости).
Затем я обычно помещаю протокол в B.h, определяющий метод делегата, когда B хочет быть отклоненным, и добавляю поле id<theProtocol> delegate
в качестве свойства assign
. Предполагая, что я занят в А и хочу представить Б модально, я бы написал:
B* b = [[B alloc] initWithNibName:@"B" bundle:nil];
b.delegate = self;
[self presentModalViewController:B animated:YES];
Используя раскадровку, я знаю, что можно модально установить другой контроллер представления, перетаскивая Ctrl с кнопки на контроллер вида и выбирая модальный тип перехода. Мне просто интересно, хотя; где я могу установить делегат нового контроллера представления? Какова правильная практика передачи вещей вашему контроллеру модального представления? Я на самом деле не знаю, что это за сделка с Сегу ...