0

私は、ユーザーが場所 (場所、建物など) をお気に入りリストに保存できる iOS アプリに取り組んでいます。このリストは MySQL データベースに保存されており、HTTP REQUEST を介してそれらを取得し、マップに表示することができます。さらに、ユーザーのお気に入りの場所がデバイスに保存されます[NSUserDefaults standardUserDefaults]。ただし、ユーザーがリストから場所を削除した可能性があるため、データベースにまだ存在するかどうか (デバイスに保存されている) の各場所を再確認する必要があります。ここで、ユーザーがログオンすると、アプリは自分の情報を保存し (お気に入りの場所をダウンロードしてデバイスに保存します)、次回はユーザーが自動的にログオンすることに言及する必要があります。ユーザーは、「アカウントの削除」を使用して特定のデバイスから個人情報を削除できます。すべての場所は、「カンマ区切り」ファイルとしてデバイスに保存されます。

私の質問は、すべての建物を読み取り、1) ユーザーの保存リストに含まれているかどうかを確認し、2) ユーザーのデータベース リストに含まれているかどうかを確認しながら、アプリの速度を向上させる方法です。現時点では、上記の手順が完了するまでマップはフリーズ (小さな四角形) のままであり、マップをロードしてユーザーの現在の場所に移動します。フリーズ時間は約です。4〜5秒。

「ファイルから各場所を読み取る > ユーザーの保存されたお気に入りリスト内に存在するかどうかを確認する > (存在する場合) データベース上のユーザーのお気に入りリストにまだ存在するかどうかを確認する > (存在する場合) 注釈を追加する」を担当するメソッドを呼び出そうとしました>(そうでなければ)保存されたリストから削除します[オブジェクトを削除]」を使用

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
                                             (unsigned long)NULL), ^(void) {
        //call method
});

それでも遅延は約 03.7 ~ 04.9 秒です

私はdispatch_get_global_queue間違って使用していますか?

前もって感謝します。

4

0 に答える 0