неудачная инициализация в синглтон-классе с приватным инициализатором в swift - PullRequest
1 голос
/ 23 сентября 2019

У меня есть класс с общим экземпляром синглтона.В моем классе есть один закрытый инициализатор, который не работает.когда я запускаю свой код, мой код падает только с

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 Ответ

2 голосов
/ 23 сентября 2019

В этой ситуации проблема заключалась в циклическом доступе, в myFunction я создавал объект, у которого был вызов MyClass.shared?.someFunction(), и это было причиной сбоя.

...