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秒後にバックグランドのスレッドで実行する処理 });