我在我的应用程序中使用故事板。当我第一次开始集成 Typhoon 时,我在 plist 中列出了程序集,如下所示:
<key>TyphoonInitialAssemblies</key>
<array>
<string>ApplicationAssembly</string>
<string>CoreComponents</string>
</array>
当我注入 AppDelegate 时,这工作得很好。
现在,如果我需要注入各种视图控制器,看来我必须删除UILaunchStoryboardName
and UIMainStoryboardFile
从应用程序 plist 文件中,并使用TyphoonStoryboard
像这样:
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString *storyboardName = ...
TyphoonComponentFactory *factory = ...
TyphoonStoryboard *storyboard = [TyphoonStoryboard
storyboardWithName:storyboardName factory:factory bundle:nil];
self.window = ...
self.window.rootViewController = [storyboard instantiateInitialViewController];
[self.window makeKeyAndVisible];
return YES;
}
但是,我很困惑从哪里获得TyphoonComponentFactory
。由于我已经在 plist 中列出了程序集,我可以以某种方式使用它吗?
看来我必须从应用程序 plist 文件中删除 UILaunchStoryboardName 和 UIMainStoryboardFile ,并使用像这样的 TyphoonStoryboard
不正确。您可以在 info.plist 文件中组合 UIMainStoryboardFile (UILaunchStoryboardName) 和 TyphoonInitialAssemblies 键。
在这种情况下,创建的故事板将是 TyphoonStoryboard 并具有台风工厂(使用 plist 程序集中指定创建)。
您可以像平常使用故事板一样使用故事板,还有一个额外的好处,即根据您的一个或多个中的定义,依赖项也将被注入TyphoonAssembly
类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)