私は、ビューコントローラのviewDidLoad関数に存在するボタンを持たないUIAlertControllerを持っています。私は警告を提示した後、私は、データベースから情報を取得する機能を実行すると、私は、ユーザーが進むことができるようにアラートを却下したい、これが行われた後しかしアラートが実行した後に却下していないよう:個別の関数からUIAlertControllerを却下する
self.dismiss(animated: true, completion: nil)
Iをまた、運に次の行を関数の引数としての私のuialertcontrollerを渡し、実行しようとしている:
alertController.dismiss(animated: false, completion: nil)
EDIT:これは私のviewDidLoad機能だけでなく、警告
override func viewDidLoad() {
super.viewDidLoad()
let alertController = UIAlertController(title: "Loading", message:
"This might take a moment", preferredStyle: UIAlertControllerStyle.alert)
self.present(alertController, animated: true, completion: nil)
hideAlert(alert: alertController)
}
func hideAlert(alert: UIAlertController) {
let hideAlertController = {() -> Void in
alertController.dismiss(animated: false, completion: nil)
}
FIRDatabase.database().reference().child("info").observeSingleEvent(of: .value, with: { (dataSnapshot) in
DispatchQueue.main.async {
hideAlertController()
}
})
}
を却下すべき機能です
私はしかし、ラッピングした後、私は別のスレッドで実行しないクロージャの内部でアラートを解任しようとすることを言及するのを忘れてしまった編集に言ったように私はまた、オリジナルのポストを更新 – XvKnightvX