iOSの目的Cでのマルチスレッドに関する疑問があります。スレッドでは一度も作業していません.. 私のアプリでは、バックグラウンドでのみ実行する必要があるタスクが2つあります。 UIはフリーズしません。続いて は、コードスニペットで上記のコードでiOS目的のマルチスレッドC
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
[self someFunctionCallinWebservice];
dispatch_async(dispatch_get_main_queue(), ^(void){
//UI Updates
});
});
、機能:someFunctionCallinWebserviceは、私はAFNetworkingライブラリを使用していたためにWebサービスを呼び出します。 Webサービスで成功すれば、データをローカルに保存しています。私は
[manager POST:url parameters:parameter success:^(AFHTTPRequestOperation *operation, id responseObject){
[self functionToSaveData:someArray];
}
はsomeFunctionCallinWebserviceがバックグラウンドで実行されているが、フォアグラウンドで実行されて[self functionToSaveData:someArray]
ここ
バックグラウンドで関数を呼び出すと、その関数の関連するすべての機能(サーバーの呼び出し、データの取得、保存など)がバックグラウンドスレッドの権利に含まれている必要があります。もう1つのスレッドをもう一度作成する必要がありますか?
助けてください...
UIクラスとのやりとりが必要になるまで*すべてバックグラウンドで実行できます。したがって、フェッチしてバックグラウンドで保存し、UIが完了したら更新するように微調整します。 – Droppy