swift中带有私有初始化程序的单例类中的失败初始化

时间:2019-09-23 10:16:30

标签: ios swift static singleton

我有一个带有共享单例实例的类。我的课有一个私有的初始化程序是有问题的。当我运行代码时,我的代码崩溃只是

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
    }
}

1 个答案:

答案 0 :(得分:1)

在这种情况下,问题在于循环访问,在myFunction中,我正在创建一个对MyClass.shared?.someFunction()进行了调用的对象,这就是崩溃的原因。