Добрый день, когда посылаю запрос оплаты, показываю индикатор, если в этот момент свернуть приложение и развернуть, то перенаправлюсь в главный ViewController, при свертывании и развертывании приложения, по идее индикатор и текущий ViewController должен остаться. Что с этим можно сделать?
@IBAction func payNowSelected(_ sender: UIButton) {
if let creditCardId = accountController.selectedCreditCardID, isTermsSelected {
if let creditCard = dataSource.creditCardById(creditCardId) {
AnalyticsManager.instance.track(UserActionWithCategory: "User's actions",
action: "Users paymant action")
showActivityIndicator()
createOrderFlow = CreateOrderFlow(withOrder: order,
stadium: accountController.stadium!,
paymantCoordinator: appDelegate().appScope.paymantCoordinator,
creditCard: creditCard)
createOrderFlow?.resumeWithCompletionClosure(closure: { [weak self] result in
guard let strongSelf = self else { return }
DispatchQueue.main.async {
strongSelf.hideActivityIndicator()
if let error = result.error {
strongSelf.presentWarningAlert(error.localizedDescription)
strongSelf.cleanBasket()
appDelegate().appScope.screensController.showScreens()
} else if let responseError = result.responseMessage, let codeError = result.responseCodeError {
switch codeError {
case 1:
strongSelf.presentWrongInputAlert(responseError, okAction: {
strongSelf.cleanBasket()
appDelegate().appScope.screensController.showStadiumScreen()
})
return
case 2:
strongSelf.presentWrongInputAlert(responseError, okAction: {
strongSelf.navigationController?.popViewController(animated: true)
})
return
case 3:
strongSelf.presentWrongInputAlert(responseError, okAction: {
strongSelf.navigationController?.popToRootViewController(animated: true)
})
return
default:
return
}
} else {
if let order = result.order {
if let currentVC = strongSelf.navigationController?.topViewController as? OrderDetailsViewController {
if currentVC.loadOrderId != order.id! {
strongSelf.presentOrderDetailsViewController(order.id!)
} else {
appDelegate().appScope.screensController.showStadiumScreen()
}
} else {
strongSelf.presentOrderDetailsViewController(order.id!)
}
strongSelf.cleanBasket()
} else {
strongSelf.cleanBasket()
appDelegate().appScope.screensController.showStadiumScreen()
}
}
}
})
}
}
}