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