dispatch_async サンプル
コーディング時に大枠を何処かからコピーペーストして修正実装
するパターンがよくあると思います。
実装時、コピペ用のテンプレートとしてご利用ください。
コードサンプル
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// バックグランドでAPIなどを実行
});
dispatch_async(dispatch_get_main_queue(), ^{
// メインスレッドで処理をしたい内容、UIを変更など。
});
// APIなどはバックグランドで実行して、UIはメインスレッドで処理をしたい場合。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// バックグランドでAPIなどを実行
dispatch_async(dispatch_get_main_queue(), ^{
// メインスレッドで処理をしたい内容、UIを変更など。
});
});
dispatch_queue_t testMain = dispatch_get_main_queue();
dispatch_queue_t testQueue = dispatch_queue_create("com.example.test",NULL);
dispatch_queue_t testGlobalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
