Swift の以前のバージョンでは、次のコードを使用して遅延を作成できました。
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 4 * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {
//put your code which should be executed with a delay here
}
しかし、Swift 3 では、Xcode は 6 つの異なるものを自動的に変更しますが、次のエラーが表示されます: 「DispatchTime.now
期待される値に変換できませdispatch_time_t
んUInt64
。」
Swift 3 で一連のコードを実行する前に遅延を作成するにはどうすればよいでしょうか?
ベストアンサー1
いろいろ調べた結果、ようやくこのことが分かりました。
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { // Change `2.0` to the desired number of seconds.
// Code you want to be delayed
}
これにより、Swift 3 および Swift 4 で目的の「待機」効果が作成されます。
一部からインスピレーションを得てこの答え。