2016-12-05 9 views
1

1つのURLからデータを取得してテーブルに設定しますが、データがほぼ10から15の値であれば問題があります。テーブル内のデータを取得することは、より短時間でデータを取り込むことを容易に意味します。テーブルにデータをほとんど表示せずにバックグラウンドでWebサービスを実行

Dataがほぼ500から600の値であれば、私はProgressViewを使用しているので、すべてのデータが来るまで待たなければならないので、すべての応答が来ないまで待つ必要があります。

これを解決する方法はありますか。データを先に設定してから、後ですべてのデータを設定してください。

すべてのヘルプは、あなたが同様にあなたのtableViewにし、あなたのバックエンドで改ページのサポートを使用する必要があります

+0

独自のカスタムキューを作成し、それに対するサーバー要求をフェッチすることができます。応答が受信されると、メインキューのテーブルビューをリロードできます。メインスレッド –

+0

はChunkでデータを取得できますか? Webサービスから –

+0

はい、Webサービス要求にalamofireを使用できます –

答えて

1

基本的には、一度に大容量のデータをフェッチするために悪い習慣ですユーザーを待ってください。理想的には、必要なときにのみデータを取得する必要があります。あなたの場合は、ページング機構を使用することをお勧めします。

以下

は、あなたが使用できるページングについてちょうど目安です:

  1. あなたがwebserviceからデータをロードすると、初めて PAGE_COUNT and PREVIOUS_PAGE_COUNT.
  2. という名前の2つのパラメータを送信する場合PAGE_COUNT = nuber_of_values_you_want_to_fetch_initially and PREVIOUS_PAGE_COUNT = 0
  3. を送信ユーザーはテーブルの下部にあるローダーをスクロールダウンして再びウェブサービスにアクセスしますが、PREVIOUS_PAGE_COUNT = nuber_of_values_you_want_to_fetch_initially + PAGE_COUNT
  4. 最初のページ数を確認してから データベースから次のレコードを取得するような、バックエンドからの変更が必要になります。

この情報がお役に立てば幸いです。

関連する問題