Я пытаюсь отправить запрос с Alamofire на URL-адрес, содержащий JSON, который выглядит следующим образом:
{
"code": 11,
"responseTS": 1587219531266,
"message": "not running",
"version": "2.1",
"command": "http://www.url.com",
"status": "NotRunning"
}
Это моя функция. Теперь он печатает ответ, но останавливается и не завершает остальную часть кода. Поскольку сообщение в JSON «не запущено», оно должно вызвать getDBLocation (), но оно останавливается после печати ответа (перед оператором guard). Может кто-нибудь сказать мне, почему это может происходить?
XCode не выдает ошибок, и приложение не обрабатывает sh, оно просто не продолжает работу, как я ожидал.
func checkStatus() {
let url = qpeUrl
Alamofire.request(url).responseJSON { (response) in
print(response)
print(response.result)
guard response.result.error == nil else {
print("error")
print(response.result.error!)
return
}
guard let tagStatus = response.result.value as? [String: Any] else {
self.audioFail.play()
let alertConn = UIAlertController(title: "ERROR!", message:
"Couldn't connect", preferredStyle: .alert)
alertConn.addAction(UIAlertAction(title: "完了", style: .cancel, handler: nil))
self.present(alertConn, animated: true, completion: nil)
self.captureSession.startRunning()
return
}
if let tagstatus = tagStatus["message"] as? String {
if tagstatus.contains("Unknown") || tagstatus.contains("not running"){
self.getDBLocation()
}
}
if let tagstatus = tagStatus["message"] as? String {
if tagstatus.contains("TagPosition") {
self.audioSuccess.play()
self.sendQPERequest()
}
}
}
}
Извините за вопрос это, вероятно, спрашивалось раньше. Я думаю, что упускаю что-то очевидное, потому что это работало ранее. Однако, после нескольких недель попыток исправить это, я действительно не могу понять, что происходит.
Редактировать: Кажется, что код работает нормально, только если я пройдусь по нему. Если я не пройдусь по нему, он напечатает SUCCESS (print (response.result)), а затем остановится перед первым защитным оператором. Код может работать пошагово, поэтому я действительно не знаю, что происходит.