ios - 单例类中的可失败初始化与 swift 中的私有初始化程序
问题描述
我有一个带有共享单例实例的类。我的班级有一个可以失败的私有初始化程序。当我运行我的代码时,我的代码崩溃了
Thread 1: EXC_BREAKPOINT (code=1, subcode=0x105289b9c)
我做错了什么?
class MyClass {
static var shared = MyClass()
private var a: Int
private init?() {
guard someCondition else {
return nil
}
self.a = 0
self.myFunction()
}
private func myFunction() {
// some code
}
}
解决方案
在这种情况下,问题是循环访问,myFunction
因为我正在创建一个调用 的对象,MyClass.shared?.someFunction()
这就是崩溃的原因。
推荐阅读
- java - 尝试自动更新程序时出错
- sql - 左连接大表的 Teradata 性能问题
- vaadin - 如何禁用 vaadin 14 的未排序状态
- twilio - 如何跟踪来自 Twilio SMS 的链接点击
- javascript - 如何使网格方块改变颜色?
- android - Android Management API - 访问设备设置问题
- python-2.7 - 为什么 PyAudio Stream Callback 在 Pepper Robot 中不起作用?
- oracle-agile-plm - 关于在变更单操作菜单项中打开 URL
- date - 从当前月份生成列表月份 1 年以上
- r - 你可以制作一个可点击的情节图以移动到 R markdown 中的不同选项卡吗?