Как вернуть значения функции после нажатия на кнопку в AlertController swift
возникла трудность с возращением значения в функции. Надо вернуть значения в функцию в зависимости от выбранной кнопки в AlertController.
func alertMessange() -> Bool{
let alert = UIAlertController(title: "Messange", message: "", preferredStyle: UIAlertController.Style.alert)
alert.addAction(UIAlertAction(title: "Cancel", style: .default){ (alert) -> Void in
// return true
})
alert.addAction(UIAlertAction(title: "Ok", style: .cancel){ (alert) -> Void in
// return false
})
}
Помогите пожалуйста!
Ответы (1 шт):
Автор решения: VAndrJ
→ Ссылка
В данном случае нужно не возвращать значение, а использовать closures (замыкания):
func alertMessage(after completion: @escaping (Bool) -> Void) {
...
alert.addAction(UIAlertAction(title: "Cancel", style: .default){ (alert) -> Void in
completion(true)
})
...
}
И используете где нужно:
alertMessage(after: { result in
print(result)
})