8

我如何将 Typhoon 与 iOS 故事板一起使用,其中视图控制器由系统隐式生成?我需要在 prepareForSegue 方法中做一些特别的事情吗?

4

2 回答 2

8

待办事项中有一个 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 的一部分发布。

于 2013-09-25T07:30:49.957 回答
7

TyphoonStoryboard 非常简单

通过在您的 plist 中引导 Typhoon以及通常的 UILaunchStoryboardName 和 UIMainStoryboardFile,Typhoon 将确保所有 Storyboard 都是 TyphoonStoryboard 的实例。与普通 Storyboard 完全一样使用,另外还有一个好处是依赖项将根据 TyphoonAssembly 类中的定义注入。

或者,您可以指定每个 viewController 应该使用哪个定义。为此,请在情节提要中使用“typhoonKey”运行时属性。否则将使用与控制器类匹配的定义。例子:

例子

此功能的文档在此处

于 2014-04-21T20:05:51.650 回答