我正在使用带有“Plist 集成”的台风
我在AppDelegate程序集中定义如下:
- (AppDelegate *)appDelegate {
return [TyphoonDefinition withClass:[AppDelegate class] configuration:^(TyphoonDefinition *definition) {
[definition injectProperty:@selector(window)];
definition.scope = TyphoonScopeSingleton;
}];
}
在里面window,我有一个rootViewController由delegate它实现的AppDelegate。
- (RootViewController *)rootViewController {
return [TyphoonDefinition withClass:[RootViewController class] configuration:^(TyphoonDefinition *definition) {
[definition injectProperty:@selector(delegate)];
}];
}
问题是delegate设置了 的另一个实例AppDeleaate。我在里面设置了一个断点AppDelegate init,实际上它被调用了两次。
我知道一个解决方案是在运行时手动设置delegate内部AppDelegate,但我希望这由台风处理。
注意:我还没有尝试过,但同样的事情也可能发生在故事板创建的视图控制器上。