Objective c 台风-获取实例而不是定义
我使用的是带有plist积分的typhone。在一个程序集中,我需要创建一个具有如下初始值设定项的实例:Objective c 台风-获取实例而不是定义,objective-c,typhoon,Objective C,Typhoon,我使用的是带有plist积分的typhone。在一个程序集中,我需要创建一个具有如下初始值设定项的实例: @选择器(initWithBundleURL:moduleProvider:launchOptions:) 第二个参数moduleProvider:获取一个块,该块返回一个对象数组。我想使用Typhone来注入该数组中的每个对象 - (RCTBridge *)bridgeWithModule1:(Module1 *)module1 module2:(Module2 *)module2 { r
@选择器(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类
- 到您的自定义类中,以提供正在生成的具有静态依赖关系的对象李>
- 工厂方法将类似于您在程序集接口上定义的方法。将静态依赖项与运行时参数混合,并返回构建对象李>