Как бы я использовал Typhoon с раскадровками iOS, где контроллеры представления генерируются неявно системой? Должен ли я делать что-то особенное в методах prepareForSegue?
Typhoon: ViewControllers, созданные на сборке и раскадровке
Ответы (2)
С TyphoonStoryboard это очень просто
Путем загрузки Typhoon в ваш plist вместе с обычными UILaunchStoryboardName и UIMainStoryboardFile, Typhoon гарантирует, что все раскадровки являются экземплярами TyphoonStoryboard. Используйте точно так же, как обычную раскадровку, с дополнительным преимуществом, которое заключается в том, что зависимости будут внедрены в соответствии с определениями в ваших классах TyphoonAssembly.
При желании вы можете указать, какое определение следует использовать для каждого viewController. Для этого используйте атрибут времени выполнения 'typhoonKey' в раскадровке. В противном случае будет использоваться определение, соответствующее классу контроллера. Пример:

Документация по этой функции находится здесь.
В бэклоге есть компонент TyphoonStoryBoard, однако он еще не реализован (см. обновление ниже).
В настоящее время существует метод -injectProperties: на фабрике компонентов, который вы можете использовать для применения внедрения зависимостей к компоненту после его создания, например. по раскадровке.
На данный момент вы можете создать подкласс UIStoryboard и вызвать -injectProperties: на контроллере представления, переопределив:
– instantiateInitialViewController
– instantiateViewControllerWithIdentifier:
Пример:
- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier {
id instantiatedViewController = [super instantiateViewControllerWithIdentifier:identifier];
[[TyphoonComponentFactory defaultFactory] injectProperties:instantiatedViewController];
return instantiatedViewController;
}
Обновление:
Интеграция с TyphoonStoryBoard завершена (ожидается документация) и передана в мастер. Он будет выпущен как часть Typhoon 2.0 в ближайшие недели.