タイトルとして、ユーザーがボタンを何回でもクリックすると、uilabelがその番号に更新され、アプリはapiを呼び出して番号を送信しますサーバー。 apiが呼び出されている場合を除いて、すべてうまく動作します.Uilabelは2〜5秒間ハングし、ユーザーがボタンを押しても更新されません。私はバックグラウンドでapiを呼び出して、メインキューのUIを更新しようとしましたが、動作しますが、1〜3秒の間は少しでもハングします。私が数をサーバーに投稿する必要がある理由は、多数のユーザーがボタンを同時に押すことになり、ラベルがすべてのユーザーの合計に更新されるためです。目的c APIが呼び出されたときにUIlabelがしばらくハングしている
フロー:ユーザーが望むだけ多くのボタンを押すと、ユーザーがボタンを何回押したか、5秒ごとにAPIが呼び出されてカウントがポストされ、uilabelがその番号を更新します再び。
この問題を修正または改善する提案がありますか?あなたのプロセスが起動して、プロセスの完全な一方で隠しながらローダー(activityIndicator)を追加する必要が
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
[MyApiManager postHitCount:hitCountModel block:^(id object, NSError *error)
{
dispatch_async(dispatch_get_main_queue(), ^{
[self setUpCount];
});
if ([self checkError:error])
return;
}];
});
を任意のものをやり取りすることはありませ働いている間、あなたはいくつかのコードをポストする必要があることを管理する必要があります。 – AdamPro13
バックグラウンドスレッドでapiを実行し、メインスレッドでuiを更新します。私はあなたがハングアップの原因となるメインスレッドでAPIを呼び出してUIを更新していると思います – Vinodh