1

不调用指定为初始化程序的选择器。

return [TyphoonDefinition withClass:[AppDelegate class] configuration:^(TyphoonDefinition *definition) {
    [definition useInitializer:@selector(initWithString:)
                    parameters:^(TyphoonMethod *initializer) {
                        [initializer injectParameterWith:@"randomString"];
                    }];
}

我已经设置了一个断点initWithString,它永远不会被调用。此外,当我尝试使用它时,字符串是空的。

是的,我已经在我的 plist 文件中指定了 Typhoon 配置,我还确保调用了这个方法,并且确实如此。

4

1 回答 1

1

注入AppDelegate<UIApplicationDelegate>是一种特殊情况,仅支持属性或方法注入。这是因为 AppDelegate 是在 Typhoon 之外创建的。

同样,Storyboards(Typhoon storyboard 集成)创建的对象只支持属性和方法注入,不支持初始化注入。

于 2015-04-11T03:33:48.420 回答