Objective-C 非同期処理テンプレート

Objective-Cでよく使用する非同期処理のコードテンプレート。

メインスレッドで非同期処理を実行する

dispatch_async(dispatch_get_main_queue(), ^{
    // メインスレッドで実行する処理
});

バックグラウンドのスレッドで非同期処理を実行する

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // バックグランドのスレッドで実行する処理
});

一定時間後にメインスレッドで非同期処理を実行する

dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC));
dispatch_after(time, dispatch_get_main_queue(), ^{
    // 1秒後にメインスレッドで実行する処理
});

一定時間後にバックグランドのスレッドで非同期処理を実行する

dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC));
dispatch_after(time, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // 1秒後にバックグランドのスレッドで実行する処理
});