Objective c 台风-获取实例而不是定义

Objective c 台风-获取实例而不是定义,objective-c,typhoon,Objective C,Typhoon,我使用的是带有plist积分的typhone。在一个程序集中,我需要创建一个具有如下初始值设定项的实例: @选择器(initWithBundleURL:moduleProvider:launchOptions:) 第二个参数moduleProvider:获取一个块,该块返回一个对象数组。我想使用Typhone来注入该数组中的每个对象 - (RCTBridge *)bridgeWithModule1:(Module1 *)module1 module2:(Module2 *)module2 { r

我使用的是带有plist积分的typhone。在一个程序集中,我需要创建一个具有如下初始值设定项的实例:
@选择器(initWithBundleURL:moduleProvider:launchOptions:)
第二个参数moduleProvider:获取一个块,该块返回一个对象数组。我想使用Typhone来注入该数组中的每个对象

- (RCTBridge *)bridgeWithModule1:(Module1 *)module1 module2:(Module2 *)module2 {
return [TyphoonDefinition withClass:[RCTBridge class] configuration:^(TyphoonDefinition *definition) {
    [definition useInitializer:@selector(initWithBundleURL:moduleProvider:launchOptions:) parameters:^(TyphoonMethod *initializer) {

        [initializer injectParameterWith:url];

        RCTBridgeModuleProviderBlock block = ^NSArray *() {
            return @[module1, module2];
        };
        [initializer injectParameterWith:block];

        [initializer injectParameterWith:nil];
    }];

    definition.scope = TyphoonScopeLazySingleton;
}];
}

上面的代码不起作用。因为
module1
module2
在运行时是
typhondefinition
,而不是实际实例。有没有办法使用Typhone注入真实实例?

使用Typhone,您可以使用与的程序集接口来混合静态依赖项和运行时依赖项。这避免了创建自定义工厂类的样板文件。但是,不能在定义中修改运行时参数

如果需要这样做,请创建一个自定义factory类

  • 到您的自定义类中,以提供正在生成的具有静态依赖关系的对象
  • 工厂方法将类似于您在程序集接口上定义的方法。将静态依赖项与运行时参数混合,并返回构建对象
感谢您的快速回复!我通过将TyphonaAssembly注入定制类解决了我的问题。