Уволить 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()
})
}
}