Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 伤寒选择疗法_Ios_Objective C_Dependency Injection_Typhoon - Fatal编程技术网

Ios 伤寒选择疗法

Ios 伤寒选择疗法,ios,objective-c,dependency-injection,typhoon,Ios,Objective C,Dependency Injection,Typhoon,如果我可以使用matcher根据协议选择定义,那就太好了,例如: - (UIViewController *)viewControllerForViewModel:(id <IViewModel>)viewModel { return [TyphoonDefinition withOption:viewModel matcher:^(TyphoonOptionMatcher *matcher) { [matcher conformsToProtocol

如果我可以使用matcher根据协议选择定义,那就太好了,例如:

- (UIViewController *)viewControllerForViewModel:(id <IViewModel>)viewModel
{
    return [TyphoonDefinition withOption:viewModel matcher:^(TyphoonOptionMatcher *matcher)
    {
        [matcher conformsToProtocol:@protocol(ILoginViewModel) use:[self loginViewController]];
        [matcher conformsToProtocol:@protocol(IMainViewModel) use:[self mainScreenViewController]];
        [matcher defaultUse:[self emptyScreen]];
    }];
}
台风选择匹配器

- (void)conformsToProto:(Protocol *)aProtocol use:(id)injection
...
- (TyphoonOptionMatch *)matchForValue:(id)value {
...
    BOOL isConformProto = (match.proto && [value conformsToProtocol:match.proto]);

此功能在3.4.5中已被删除


嗨,埃米尔!看起来这是一个不错的功能-我已经添加了相应的问题:。很高兴看到你的公关!
- (void)conformsToProto:(Protocol *)aProtocol use:(id)injection
...
- (TyphoonOptionMatch *)matchForValue:(id)value {
...
    BOOL isConformProto = (match.proto && [value conformsToProtocol:match.proto]);
[matcher caseConformsToProtocol:@protocol(IMainViewModel) 
                            use:[self mainScreenViewController]];