UIAlertControllers не выполняются или не отображаются. Если я только пишу инструкцию печати, то в консоли есть вывод, но теперь также не выполняются операторы печати (если я пишу их вместе с UIAlertControllers, как в коде, который я написал ниже).Хотите использовать UIAlertController внутри ответного блока AlamofireJSON
Alamofire.request(some_url, method: .post, parameters: data, encoding: URLEncoding.default, headers: nil).responseJSON{
response in
let json = JSON(response.result.value)
print(json)
self.eventid = json[0]["EventRegID"].stringValue
if !json[0]["AuthKeyError"].exists(){
if !json[0]["ExceptionOccured"].exists(){
if !json[0]["RegistrationFailed"].exists() {
if !json[0]["EventInHold"].exists() {
if json[0]["RegistrationSuccess"].exists() {
let alertController = UIAlertController(title: "", message: json[0]["RegistrationSuccess"].stringValue, preferredStyle: .alert)
let no1Action = UIAlertAction(title: "OK", style: .default) { (action) -> Void in
print("The user has registered successfully")
}
alertController.addAction(no1Action)
}
else{
}
}
else {
let alertController = UIAlertController(title: "", message: "Event is on hold.", preferredStyle: .alert)
let no2Action = UIAlertAction(title: "OK", style: .default) { (action) -> Void in
print("The event is on hold.")
}
let yes2Action = UIAlertAction(title: "GO", style: .default) { (action) -> Void in
self.performSegue(withIdentifier: "bullshit", sender: self)
}
alertController.addAction(no2Action)
alertController.addAction(yes2Action)
}
}
else {
print("Registration failed due to connection issues. Please login.")
let alertController = UIAlertController(title: "", message: "Registration failed", preferredStyle: .alert)
let no3Action = UIAlertAction(title: "OK", style: .default) { (action) -> Void in
print("The registration failed")
}
alertController.addAction(no3Action)
}
}
else {
print("There's some problem with the database")
let alertController = UIAlertController(title: "", message: "Some problem with the server", preferredStyle: .alert)
let no4Action = UIAlertAction(title: "OK", style: .default) { (action) -> Void in
print("The user has registered successfully")
}
alertController.addAction(no4Action)
}
}
else {
print("AuthKeyError")
let alertController = UIAlertController(title: "", message: "Auth key error", preferredStyle: .alert)
let no5Action = UIAlertAction(title: "OK", style: .default) { (action) -> Void in
print("AAUTH KEY ERROR")
}
alertController.addAction(no5Action)
}
}
}
else {
print("not ok")
}
}
Где вы предъявившему оповещения контроллер? Я не вижу никаких заявлений. – Samantha
многие утверждения 'if-else' выглядят не очень красиво - вы должны улучшить его. например, вы можете использовать корпус переключателя. например, с ответом [обработка цепочки] (https://github.com/Alamofire/Alamofire#chained-response-handlers). можете ли вы опубликовать примеры (один или два) вашей ошибки JSON – muescha
, вы можете использовать для этого проверку ответа. doc и примеры [здесь] (https://github.com/Alamofire/Alamofire#response-validation) и [здесь] (https://github.com/Alamofire/Alamofire/blob/master/Documentation/Alamofire%204.0% 20Migration% 20Guide.md # response-validation) – muescha