Уволить SVProgressHUD при выходе из View Controller

У меня есть контроллер представления, который при запуске показывает SVProgressHUD при получении данных с сервера. Как бы я отклонил SVProgressHUD при переходе к предыдущему контроллеру представления до завершения выборки?

Я попробовал это:

override func viewWillDisappear(animated : Bool) {
     super.viewWillDisappear(animated)

        if (self.isMovingFromParentViewController()){
            print("before dismiss")
            SVProgressHUD.dismiss()
            print("after dismiss")
        }
}

Я получаю сообщение об ошибке: фатальная ошибка: неожиданно обнаружен ноль при развертывании необязательного значения

Вот некоторый код из контроллера представления, к которому осуществляется переход:

override func viewWillAppear(animated: Bool) {
        self.navigationItem.hidesBackButton = true
    }

    override func viewDidLoad() {
        searchRestaurants.delegate = self
        loadRestaurants()
        super.viewDidLoad()
        // Do any additional setup after loading the view.

        //navigation bar title edit
        self.navigationController!.navigationBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "Chalkboard SE", size: 17)!]

        //fetch list of restaurant names from database
        //set table cells to values inside array
    }

    override func viewDidAppear(animated: Bool) {
        //SVProgressHUD.dismiss()
    }

    override func viewWillDisappear(animated : Bool) {
        super.viewWillDisappear(animated)

        if (self.isMovingFromParentViewController()){
            let qualityOfServiceClass = QOS_CLASS_BACKGROUND
            let backgroundQueue = dispatch_get_global_queue(qualityOfServiceClass, 0)
            dispatch_async(backgroundQueue, {
                print("This is run on the background queue")
                SVProgressHUD.dismiss()
            })
        }
    }

0 ответов

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