ios - 访问程序集的子程序集将生成 EXC_BAD_ACCESS

标签 ios typhoon

用例:

我有一个应用程序集。该程序集有一个名为 CoreAssembly 的属性,其类型为 TyphoonAssembly。我正在使用 PLIST 集成并注册了两个程序集。我将 ApplicationAssembly 注入(inject)到 Appdelegate 中。

在 ViewController 中之后,我想获取一个由 CoreAssembly 生成的对象

    var appdelegate = UIApplication.sharedApplication().delegate as!  AppDelegate;
  tagHandler = appdelegate.assembly.coreAssembly.tagHandler() as! GoogleTagsHandler;

如果我这样做,我将获得 EXC_BAD_ACCESS

最佳答案

这似乎是一个错误,我们已经 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/

相关文章:

ios - 如何以编程方式计算状态栏的正确文本颜色?

ios - boundingRectWithSize 与表情符号崩溃

ios - 手机锁定时 Corebluetooth 无法正常工作

iOS Typhoon DI 框架替代 objective-c 中的单例

ios - 如何捕获tableView可见部分的UIImage

ios - Calendar.Component 中的季度组件有什么作用? ( swift )

ios - 台风注入(inject)属性

ios - dyld_fatal_error 与 Typhoon+Swift+iOS7.x+Plist-bootstrapping

dependency-injection - Typhoon 使用带有 View Controller 初始值设定项的 Storyboard

ios - 使用协议(protocol)作为程序集接口(interface)时 Typhoon 初始化失败