оператор Guard не вызывается в правильном порядке

в этом случае

      class ModalManager {

    static var parentController: UIViewController?

    static weak var initialController: UIViewController?

    class func present(_ controller: UIViewController) {

        guard let parent = parentController else {
            return
        }

        guard initialController == nil else {
            fatalError("initialController not nil")
        }

        initialController = controller

        parent.present(controller, animated: false)
    }
}

в некоторых случаях линияinitialController = controllerвыполняется перед сторожем с fatalError, а затем приложение аварийно завершает работуguard initialController == nil.

почему бы его не назвать по порядку написания в некоторых случаях? фрагмент о том, как называется func:

      ModalManager.parentController = parentController 
ModalManager.present(modalVC) 

0 ответов

Другие вопросы по тегам