Привет всем.
Реализовал авторизацию, но столкнулся с проблемой при переходе на другой контроллер.
Когда проходит авторизация, сразу же после этого перебрасывает на другой контроллер, где должна отображаться информация, этого не происходит, после того как возвращаюсь на главный контролер и снова перехожу в другой контроллер, информация отображается. Подскажите как реализовать асинхронный переход, чтобы пока не пройдет авторизация и не прийдет токет, не осуществлялся переход
Вот код реализации авторизации:
func GetUserInfoFromJson(login: String, password: String, completion: @escaping CompletionHandler) {
var headers: HTTPHeaders = [:]
if let authorizationHeader = Request.authorizationHeader(user: login, password: password) {
headers[authorizationHeader.key] = authorizationHeader.value
}
Alamofire.request(BASE_URL, headers: headers)
.responseJSON { response in
Alamofire.request(BASE_URL, method: .post, parameters: nil, encoding: JSONEncoding.default, headers: headers).responseJSON { (response) in
guard let data = response.data else { return }
do {
let json = try JSONDecoder().decode([LoginInfo].self, from: data)
print(json)
self.authToken = json[0].token!
self.UserInfoAll = json[0]
self.isLoggedIn = true
completion(true)
} catch {
print("Error")
completion(false)
}
// debugPrint(response)
}