问题标签 [typhoon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
198 浏览

typhoon - 台风入门

我无法理解 Typhoon文档使用的术语。

所以看起来你基本上定义了 aTyphoonAssembly并且它包含了所有的对象。然后创建一个或多个TyphoonDefinition's 来描述如何实例化对象。我假设这些定义是在实现中执行的。但是,这些在文档TyphoonDefinitionTypes of Injections部分下。

在使用 Spring 等其他 iOC 容器时,术语注入是指将构建的组件提供给依赖对象的过程,而不是注入到 iOC 容器本身中。

我对文档的理解是错误的,还是使用的术语不同?

0 投票
2 回答
804 浏览

typhoon - 台风故事板集成

我在我的应用程序中使用 StoryBoard。当我第一次开始集成 Typhoon 时,我在 plist 中列出了组件,如下所示:

当我注入 AppDelegate 时,这工作得很好。

现在,如果我需要注入各种视图控制器,看来我必须从应用程序 plist 文件中删除UILaunchStoryboardNameand UIMainStoryboardFile,并使用TyphoonStoryboard如下:

但是,我很困惑我在哪里获得TyphoonComponentFactory. 由于我已经在 plist 中列出了程序集,我可以以某种方式使用它吗?

0 投票
1 回答
1062 浏览

ios - Typhoon - 在整个应用程序中使用一个组件工厂

我在 plist 中配置初始程序集,用于实例化情节提要中的第一个控制器。

稍后在应用程序中,我将使用以下方法更改根视图控制器:

我想在实例化新的视图控制器时使用相同的程序集。原因是我希望单身人士保持单身人士。如果程序集/工厂发生变化,所有类都会重新创建,包括单例。

如何让工厂用于初始化情节提要中的第一个视图控制器?

0 投票
2 回答
820 浏览

typhoon - Typhoon - 使用 Storyboard 的运行时可配置组件

当我的应用程序启动时,我会获取一个远程配置文件,其中包含配置其他依赖项所需的信息(URL 等)。

获取远程配置后,我有一个Config需要提供给其他TyphoonDefinitions 的对象。

现在我也在使用 plist 故事板集成。

我最初是沿着将程序集注入加载 Config 对象的 ViewController 的路径,当我收到远程配置并创建 Config 对象时,我会以某种方式将其设置为程序集的属性。我这样做是希望我可以在定义中使用该属性,但这不起作用,我得到:

有什么方法可以让我在运行时将对象注入到程序集中?

有没有更清洁的方法来做我想做的事情?

我正在阅读听起来像我需要的运行时参数,但我真的不理解文档。

例如,我有这个作为定义。我需要将运行时 Config 对象作为参数传递给构造函数。

0 投票
1 回答
120 浏览

typhoon - 台风中的组播委托

我在我的项目中使用了多播委托,我想将它与台风集成,因为它使用标准的一对一objective-c 委托。

至于多播委托,我使用的是 NSProxy 方法,在这里解释:http: //arielelkin.github.io/articles/objective-c-multicast-delegate/

到目前为止我的代码:

是否可以将 aViewController 和 bViewController 注入 appControllerMulticastDelegation?我应该如何解决这个问题?我认为我应该使用方法注入(对于 addDelegate: MulticastDelegate 中的方法),但不知道该怎么做......

编辑 只是问。是否可以将当前定义(非单例 - TyphoonScopeObjectGraph)中的实例注入其他定义,例如(方法注入):

在运行时: AViewController* aViewController = [(MyAssembly*)factory aViewController];// 创建一个新的 AViewController 唯一实例并将其添加到 appContollerMulticastDelegate 订阅者;

0 投票
1 回答
160 浏览

github - 错误键 Project Typhoon

我在 github 上下载了“Typhoon-example”项目。

我现在想插入我的密钥,但我想象了一个很长的密钥。

项目中key由24个字符组成,我的key是40个字符。如果我将密钥插入项目,应用程序就会崩溃。我在 worldweatheronline.com 上有一个免费帐户。

我该怎么办?

http://imageshack.com/a/img537/276/N7wtNq.png

0 投票
1 回答
487 浏览

swift - 带有附加属性注入的工厂初始化

在我的演示项目中,我将视图控制器的手动创建替换为在程序集中基于工厂的创建(如 Jasper Blues 所示:https ://stackoverflow.com/a/24227246/397898 )

但是视图控制器仍然需要一些其他的依赖。这样做时如何注入属性?

实际上我有两个问题:当我尝试像这样使用视图控制器时,所有 IBOutlets 都是 nil。我错过了什么吗?

根据 Jasper 的回答正确回答

0 投票
2 回答
1476 浏览

dependency-injection - 台风使用带有视图控制器初始化器的故事板

我想使用故事板创建一个名为“child”的视图控制器,所以我定义:

我将有一个包含子视图控制器的根视图控制器

最后一部分只是为子视图控制器注入依赖项:

超级正常,我只是使用它的初始化器,但它永远不会被调用。我认为这是因为initWithCoder:总是使用它,它是为故事板指定的。

问题:

  1. 可以将视图控制器初始化程序与情节提要一起使用吗?看起来不像,类似于appDelegate。
  2. 这是直接从程序集中使用情节提要的最简单方法吗?
  3. 如果我有几个故事板,有没有办法以参数方式定义故事板?我不想以storyBoard1, storyBoard2, ..., storyBoardN.

提前致谢。

0 投票
2 回答
979 浏览

swift - 使用 Typhoon 和 Swift 从情节提要中注入视图控制器

使用 Typhoon 和 swift 注入从 UIStoryboard 实例化的 UIViewController 的正确方法是什么?

我在任何一个示例应用程序中都找不到任何明确的示例,当我从文档中翻译 Objective C 代码时,它会引发异常。

以下是我的 AppAssembly 中的代码:

这是抛出的异常:

“Swift 动态转换失败”让我相信,使用 Objective C 可能的事情在使用 Swift 时是不可能的。

有没有人能够完成这项工作?任何帮助将不胜感激。该库看起来非常好,我真的很想使用它。

0 投票
2 回答
1402 浏览

ios - 带有单例 AppDelegate 的台风

我正在使用带有“Plist 集成”的台风

我在AppDelegate程序集中定义如下:

在里面window,我有一个rootViewControllerdelegate它实现的AppDelegate

问题是delegate设置了 的另一个实例AppDeleaate。我在里面设置了一个断点AppDelegate init,实际上它被调用了两次。

我知道一个解决方案是在运行时手动设置delegate内部AppDelegate,但我希望这由台风处理。

注意:我还没有尝试过,但同样的事情也可能发生在故事板创建的视图控制器上。