用例:
我有一个 ApplicationAssembly。这个程序集有一个 TyphoonAssembly 类型的名为 CoreAssembly 的属性。我正在使用 PLIST 集成并注册了两个程序集。我将 ApplicationAssembly 注入(inject)到 Appdelegate 中。
在 ViewController 之后,我想获取一个将由 CoreAssembly 生成的对象
var appdelegate = UIApplication.sharedApplication().delegate as! AppDelegate;
tagHandler = appdelegate.assembly.coreAssembly.tagHandler() as! GoogleTagsHandler;
如果我这样做,我会得到一个 EXC_BAD_ACCESS
Best Answer-推荐答案 strong>
这似乎是一个错误,我们有 logged it .同时,作为一种解决方法,请将 ApplicationAssembly 和 CoreAssembly 都注入(inject)到您的应用委托(delegate)中,如下所示:
public dynamic func appDelegate() -> AnyObject {
return TyphoonDefinition.withClass(AppDelegate.self) {
(definition) in
definition.injectProperty("assembly", with: self)
definition.injectProperty("coreAssembly", with: self)
}
}
关于ios - 访问程序集的子程序集将生成 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/31684272/
|