ios - 访问单例中的非可选属性时出现无法解释的崩溃

标签 ios swift

我的架构如下:

我们创建一个单例 BusinessLogic 实例,其中包含多个类别,由扩展中定义的类表示。

class BusinessLogic {
  static let shared = BusinessLogic()

  private(set) var foo: FooCategory = FooCategory()
}

在另一个文件中,我们定义类别

extension BusinessLogic {
  class FooCategory {
    var hasNewItems: Bool = false
  }
}

实际上,类要大得多,但这些是相关的部分。

从我的 View Controller 中,我访问如下属性

BusinessLogic.shared.foo.hasNewItems

这是在整个应用程序中完成的,通常不会出现问题。但在此示例中,我们访问 UITabBarController 的 viewDidLoad 上的 hasNewItems 属性,这有时会导致崩溃。这对我来说是无法解释的。

有人知道什么可能导致崩溃吗?我们甚至可以在 AppDelegate 内的 appStart 上访问 BusinessLogic 类,一切正常。

最佳答案

似乎有一个属性实际上为零(正如 @Rishabh 所建议的那样)。我认为发布整个解决方案对您没有任何用处,因为它是针对我的应用程序的。

关于ios - 访问单例中的非可选属性时出现无法解释的崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46538355/

相关文章:

swift - AVCaptureDeviceType.builtInDualCamera 的作用是什么

IOS:放大两个标注点的mapkit

ios - Kitura with CouchDB - 导入 CouchDB 模块时出现问题

iphone - 我们可以获取在 MFMailComposeViewController 中设置的发件人电子邮件地址吗?

ios - 如何从通知响应中重新加载 iOS 14 WidgetKit 的时间线?

ios - ARKit - 不断获取 [0,0,0] 作为相机位置

ios - SpriteKit 中的坠落物体?

javascript - 如何在 Cordova/Phonegap 中的远程 html 文件中包含本地脚本?

ios - FirebaseHandle 上的编译错误

ios - Swift - NSMutableAttributedString 更改 UITextView 中的所有文本