[Swift]遅延して処理をするには?

Swift

どうも、ちょげ(@chogetarou)です。

数秒間だけ遅延した後に、処理をする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

遅延して処理をするには、DispatchQueueを使います。

まず、「DispatchQueue.main.asyncAfter」を呼びだします。

次に、asyncAfterの引数「deadline」に処理をする時間を指定します。

そして、asyncAfterにクロージャーを追加し、クロージャー内に遅延処理を追加します。

DispatchQueue.main.asyncAfter(deadline: .now() + time) {
    //timeの時間後に遅延処理
}

「DispatchQueue.main.asyncAfter」は、引数「deadline」の時刻に到達したら、クロージャーの処理を実行します。

asyncAfterの引数「deadline」は、現在時刻( .now() )から時間を追加する形式にすれば、どのくらい遅延させるのかが分かりやすくなります。

使用例

DispatchQueue.main.asyncAfter(deadline : .now() + 5) {
    print("5秒後に処理")
}

DispatchQueue.main.asyncAfter(deadline : .now() + .milliseconds(100)) {
    print("100ミリ秒後に処理")
}

コメント

タイトルとURLをコピーしました