iOS: переписывание с перьев на раскадровки
Я работаю над обновлением (т.е. переписыванием) довольно простого приложения для iOS с использованием раскадровок (в предыдущей версии использовались файлы XIB). Это переписывание частично для моего собственного назидания, так как оригинальное приложение было написано моим другом, и я наконец-то нашел время для погружения в iOS.
Приложение использует контроллер навигации для переключения между контроллерами представления (марка / модель / размер). Каждый контроллер представления содержит табличное представление со списком значений (марки / модели / размеры).
В версии xib, в каждом контроллере представления у меня был уникальный метод init, который принимал информацию от предыдущего контроллера представления (например: контроллер представления модели должен был знать, какая модель была выбрана - чтобы он мог отображать соответствующие модели; контроллер представления размера нужно было знать, какая марка и модель были выбраны - чтобы она могла отображать соответствующие размеры). Кроме того, в пользовательском init я бы назвал initWithNibName.
Теперь, используя раскадровки, мы больше не вызываем initWithNibName, и мы должны подключиться к awakeFromNib. Это прекрасно работает для контроллера make view, так как он всегда будет отображать один и тот же список марок, поскольку это корневой контроллер представления в контроллере nav.
Я застрял в том, как продолжать использовать раскадровки и awakeFromNib, но передавать данные по пути (т. Е. Отправлять выбранную марку в контроллер представления модели, когда выбрана строка в табличном представлении контроллера представления).
Я надеюсь, что здесь есть смысл.
Заранее спасибо.
1 ответ
В случае раскадровки попробуйте
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
метод. Его можно использовать для передачи любого сообщения / данных в destinationViewController.