iOS: переписывание с перьев на раскадровки

Я работаю над обновлением (т.е. переписыванием) довольно простого приложения для iOS с использованием раскадровок (в предыдущей версии использовались файлы XIB). Это переписывание частично для моего собственного назидания, так как оригинальное приложение было написано моим другом, и я наконец-то нашел время для погружения в iOS.

Приложение использует контроллер навигации для переключения между контроллерами представления (марка / модель / размер). Каждый контроллер представления содержит табличное представление со списком значений (марки / модели / размеры).

В версии xib, в каждом контроллере представления у меня был уникальный метод init, который принимал информацию от предыдущего контроллера представления (например: контроллер представления модели должен был знать, какая модель была выбрана - чтобы он мог отображать соответствующие модели; контроллер представления размера нужно было знать, какая марка и модель были выбраны - чтобы она могла отображать соответствующие размеры). Кроме того, в пользовательском init я бы назвал initWithNibName.

Теперь, используя раскадровки, мы больше не вызываем initWithNibName, и мы должны подключиться к awakeFromNib. Это прекрасно работает для контроллера make view, так как он всегда будет отображать один и тот же список марок, поскольку это корневой контроллер представления в контроллере nav.

Я застрял в том, как продолжать использовать раскадровки и awakeFromNib, но передавать данные по пути (т. Е. Отправлять выбранную марку в контроллер представления модели, когда выбрана строка в табличном представлении контроллера представления).

Я надеюсь, что здесь есть смысл.

Заранее спасибо.

1 ответ

Решение

В случае раскадровки попробуйте

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

метод. Его можно использовать для передачи любого сообщения / данных в destinationViewController.

Другие вопросы по тегам