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