Swift3でiPhoneアプリを開発しています。ネットワークアクセスで時間のかかる可能性のある処理があり、それをある時間以上かかったらタイム・アウトしたいと思っています。
例えば、10秒後にある処理をしたければ、
Swift
1DispatchQueue.main.asyncAfter(deadline: .now() + 10.0, execute: { 2 (10秒後にやりたい処理) 3})
のように書けばいいかと思うのですが、10秒後にある処理をやめたい場合にはどのように書けばいいのでしょうか?
(追記) 2018.2.28
追記します。タイムアウトしたい処理は、Google Firebase Realtime DatabaseのobserveSingleEventです。コードは、以下のようになっています。
Swift
1let checkRef = Database.database().reference().child(Const.UpdatePath) 2checkRef.observeSingleEvent(of: DataEventType.value, with: { snapshot in 3 (snapshotを使った処理) 4}
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/03 04:39