2016-07-26 9 views
-1

ユーザーが質問し、お互いの質問に答えることができるフォーラムタイプのアプリケーションを作成しています。質問は最新のものでUITableViewに保存されており、検索機能もあります。バックエンドはノードJSでコード化され、SQLiteを使用します。現在のところ、私はバックエンドから質問されたすべての質問を読み込んで、UITableViewにそれらを埋め込んでいます。しかし、このデータベースは最終的に何千もの疑問を抱くことになるので、最終的に非現実的になることに気付きます。これは通常どのように扱われますか?すべての質問をクライアントにロードして、一度に10件ずつ表示する必要がありますか?または、データベースを変更して、一度に10を返し、テーブルビューの一番下に達するたびに新しいデータベースを読み込む必要がありますか?大規模なデータベースをUITableViewに読み込む際のベストプラクティス

答えて

1

簡単な解決策は、そのデータをバッチでロードすることです。バックエンドでコード化して、要求されたデータに基づいてデータを送信することができます。例えば

:以下の情報があり、このような形式で

リクエストデータ:

NSDictionary *parameters = @{ 
     @"customerId":@"this-is -not necessary", 
     @"pageNumber":[NSNumber numberWithInt:pageOne], 
     @"pageSize":@25}; 

だから、サーバーがあなたの要求に基づいてデータを送信します。 このリクエストでは、25個の結果がロードされます。スクロールし続けてテーブルビューの最後に到達すると、次のバッチの詳細を要求できます。

この方法では、すべてのデータを一度にダウンロードする必要はありません。このアプローチでは、アプリの応答性も大幅に向上します。

+0

これは私にとって最良のアプローチのようです。ありがとう! –

0

負荷新しい10または20たびにバックエンドからテーブルビューの下部に達する(私のアプリは、このメソッドを使用)、sqliteのにすべての答えをロードする必要はありません、

_currentpage = 1,2,3 ... 。@ "?API/newslist CLASSID =%@ & PG =%LD &ページサイズ= 2"、:everypage 10の又は20データ

0

大きなデータを処理できる唯一の方法は、小さな部分に分割することです。

  1. ページを使用してデータを制御します。
  2. また、スクロールするときにボトムを押すと、別のデータが読み込まれます。
関連する問題