访问程序集的子程序集将生成 EXC_BAD_ACCESS
Accessing sub assembly of an assembly will generate EXC_BAD_ACCESS
用例:
我有一个 ApplicationAssembly。该程序集有一个 属性 类型为 TyphoonAssembly 的 CoreAssembly。我正在使用 PLIST 集成并注册了两个程序集。我正在将 ApplicationAssembly 注入 Appdelegate。
在 ViewController 之后,我想获得一个将由 CoreAssembly 生成的对象
var appdelegate = UIApplication.sharedApplication().delegate as! AppDelegate;
tagHandler = appdelegate.assembly.coreAssembly.tagHandler() as! GoogleTagsHandler;
如果我这样做,我会得到一个 EXC_BAD_ACCESS
这似乎是一个错误,我们已经 logged it。同时,作为解决方法,请将 ApplicationAssembly 和 CoreAssembly 注入您的应用委托,如下所示:
public dynamic func appDelegate() -> AnyObject {
return TyphoonDefinition.withClass(AppDelegate.self) {
(definition) in
definition.injectProperty("assembly", with: self)
definition.injectProperty("coreAssembly", with: self)
}
}
用例:
我有一个 ApplicationAssembly。该程序集有一个 属性 类型为 TyphoonAssembly 的 CoreAssembly。我正在使用 PLIST 集成并注册了两个程序集。我正在将 ApplicationAssembly 注入 Appdelegate。
在 ViewController 之后,我想获得一个将由 CoreAssembly 生成的对象
var appdelegate = UIApplication.sharedApplication().delegate as! AppDelegate;
tagHandler = appdelegate.assembly.coreAssembly.tagHandler() as! GoogleTagsHandler;
如果我这样做,我会得到一个 EXC_BAD_ACCESS
这似乎是一个错误,我们已经 logged it。同时,作为解决方法,请将 ApplicationAssembly 和 CoreAssembly 注入您的应用委托,如下所示:
public dynamic func appDelegate() -> AnyObject {
return TyphoonDefinition.withClass(AppDelegate.self) {
(definition) in
definition.injectProperty("assembly", with: self)
definition.injectProperty("coreAssembly", with: self)
}
}