Objective c 台风初始值设定项不被调用

Objective c 台风初始值设定项不被调用,objective-c,typhoon,Objective C,Typhoon,未调用指定为初始值设定项的选择器 return [TyphoonDefinition withClass:[AppDelegate class] configuration:^(TyphoonDefinition *definition) { [definition useInitializer:@selector(initWithString:) parameters:^(TyphoonMethod *initializer) {

未调用指定为初始值设定项的选择器

return [TyphoonDefinition withClass:[AppDelegate class] configuration:^(TyphoonDefinition *definition) {
    [definition useInitializer:@selector(initWithString:)
                    parameters:^(TyphoonMethod *initializer) {
                        [initializer injectParameterWith:@"randomString"];
                    }];
}
我在
initWithString
中设置了一个断点,但它从未被调用。此外,当我试图使用字符串时,字符串是空的


是的,我已经在plist文件中指定了typhone配置,我还确保调用了此方法,并且它是。

注入到
AppDelegate
是一种特殊情况,只支持属性或方法注入。这是因为AppDelegate是在Typhone之外创建的


类似地,由序列图像板(台风序列图像板集成)创建的对象仅支持属性和方法注入,而不支持初始值设定项注入

类似于故事板创建的对象
。所以任何非编程创建的视图控制器都不能注入初始值设定项?(像initialViewController一样,视图控制器是用情节提要segue创建的?@LordZsolt是的。在Typhone之外创建的任何视图控制器都将使用创建它的对象指定的任何初始值设定项。对于故事板,这是
initWithCoder
。初始值设定项注入仅适用于台风创建的对象。目前,故事板和AppDelegate是我们在程序集中声明对象的两种情况,但实际上是在台风之外创建的。没有特别的,呃,“注释”来记录这一点,虽然它可能有助于突出区别。是的,这可能是个好主意。目前有一些例子使用了
injectProperty
,但它并没有明确说明不能使用初始值设定项injection:)啊,对了。我说的是在代码中注释它(使用不同的类方法或其他东西)。但至少它应该出现在用户指南中。注意,将更正。