【发布时间】:2013-09-25 07:28:03
【问题描述】:
如何将 Typhoon 与 iOS 故事板一起使用,其中视图控制器由系统隐式生成?我需要在 prepareForSegue 方法中做一些特别的事情吗?
【问题讨论】:
标签: ios objective-c uistoryboardsegue typhoon
如何将 Typhoon 与 iOS 故事板一起使用,其中视图控制器由系统隐式生成?我需要在 prepareForSegue 方法中做一些特别的事情吗?
【问题讨论】:
标签: ios objective-c uistoryboardsegue typhoon
积压中有一个 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 的一部分发布。
【讨论】:
TyphoonStoryboard 非常简单
通过bootstrapping Typhoon in your plist,连同通常的 UILaunchStoryboardName 和 UIMainStoryboardFile,Typhoon 将确保所有 Storyboard 都是 TyphoonStoryboard 的实例。与普通 Storyboard 完全一样使用,另外还有一个好处是依赖项将根据 TyphoonAssembly 类中的定义注入。
您可以选择为每个 viewController 指定应使用的定义。为此,请在情节提要中使用“typhoonKey”运行时属性。否则将使用与控制器类匹配的定义。示例:
此功能的文档是 here。
【讨论】: