1. ホーム
  2. アイオス

[解決済み】Swift 3で遅延をプログラムする方法

2022-03-24 15:15:31

質問

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つの異なるものを変更しますが、その後、次のエラーが表示されます:"Cannot convert DispatchTime.now を期待される値 dispatch_time_t 別名 UInt64 ."

Swift 3 で一連のコードを実行する前に遅延を作成するにはどうすればよいですか?

どのように解決するのですか?

いろいろ調べて、ようやくこれがわかったんだ。

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 で望ましい "wait" の効果を生み出します。

の一部にインスパイアされたものです。 この回答 .