0
私は、UIAlertControllerで実装されたローディングインジケータを持っています。サーバーに認証リクエストを送信すると、ロードインジケータが起動します。リクエストが成功すると、別のViewControllerに移動し、ロードインジケータを非表示にする必要があります。 segueを実行する前に、AlertControllerの終了通知が完了するまで待つ必要があります。上のそのビューウィンドウ階層ではありません提示しようとしています - 警告AlertControllerのアクションなしのSegue
private var loadingIndicator: UIAlertController?
func navigateToMonitoring() {
DispatchQueue.global(qos: .background).async {
if let indicator = self.loadingIndicator {
while !indicator.isBeingDismissed { continue }
DispatchQueue.main.async {
self.performSegue(withIdentifier: "Monitoring", sender: self)
}
}
}
}
しかし、この方法を実行したときに、私がメッセージを持っている:だから私は、このようなロジックを持っています! - そしてセグは実行されません。
どうすればこの問題を解決できますか?
(スウィフト3、Xcodeの8)
**このような繰り返しループは恐ろしいものです。完了ハンドラを使用します。 – vadian