Я пытался получить ответ от пользователя из UIAlertController.Проблема в том, что код все еще выполняется, пока отображается UIAlertController.Я хотел бы показать предупреждение, а затем подождать, пока пользователь не даст ответ, чтобы продолжить код.
func showPopUp(name:String)->String{
var genre = ""
let alert = UIAlertController(title: "What are you "+name+"?", message: nil, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Boy", style: .default, handler: { action in
genre = "Boy"
}))
alert.addAction(UIAlertAction(title: "Girl", style: .default, handler: { action in
genre = "Girl"
}))
self.present(alert, animated: true)
return genre
}
override func viewDidLoad() {
super.viewDidLoad()
print("This should appear before the alert")
let a = showPopUp(name: "John)
print("This should appear after the response")
print("John is a "+a)
[...more code using variable 'a' ...]
}
Я не могу поместить код в действие предупреждения, потому что он очень длинный, и он такжеработает в других процессах.