-1

このようにAlamofireを使用してAPIを呼び出すと

Alamofire.request(.POST, "http://localhost:8080/xxx/xxx/xxx/xx").responseJSON() {
        (_, _, jsonData, error) in

        if error == nil{
            var newItem=JSON(jsonData!)
            println(newItem)
        }
        else{
            println("Nothing!")
        }
    }

そして、{"header","body"} を含む多くの json 形式を取得しました。ヘッダーはこんな感じ

"header" : {
   "toPage" : "3948",
   "totalCount" : "59212",
   "lotId" : "50205",
   "vendorName" : "TOYOTA",
   "rowPerPage" : "15",
   "fromPage" : "1",
   "currentPage" : "1",
   "modelName" : "LEXUS LS"
}

本文の文字列には、このような多くのデータを含む 1 ページあたり 15 行が含まれています。1 つだけを示します。

"body" : [
{
  "id" : "5AxYKWbiqn451Y",
  "priv" : "",
  "average" : "395000",
  "equip" : "",
  "chassis" : "DA63T"
},

リクエストするたびに、15の結果が得られます。私が望むのは、このようなテーブルセル、ラベル、および画像ビューを使用して、これをテーブルビューで表示することだけです

したがって、パフォーマンスを向上させるためにコードでそれを行う方法についての提案.つまり、最初にデータをいくつかの配列に保存し、それらをテーブルビューに表示する必要があります.必要なのは、本体からの4つのデータ「vendorName、image0、mileage」だけです,modelName".したがって、上の図に示すように、テーブル ビューには 1 つのイメージ ビューと 3 つのラベルがあります。コードのヘルプと提案は大歓迎です。

4

1 に答える 1

1

いくつか質問をいただきましたので、お答えします。JSON からデータを読み取る方法を知っていると思います (その特定の質問はありません)。それでは、あなたのテキストの一部を貼り付けさせてください

リクエストするたびに、15個の結果が得られます。私が望むのは、このようなテーブルセル、ラベル、および画像ビューを使用して、これをテーブルビューで表示することだけです

したがって、パフォーマンスを向上させるためにコードでそれを行う方法についての提案.つまり、最初にデータをいくつかの配列に保存し、それらをテーブルビューに表示する必要があります.必要なのは、本体からの4つのデータ「vendorName、image0、mileage」だけです,modelName".したがって、上の図に示すように、テーブル ビューには 1 つのイメージ ビューと 3 つのラベルがあります。コードのヘルプと提案は大歓迎です。

まず、結果を少なくしたい場合、決定するのはアプリではありません。それがサーバー側です。必要な結果を得るには、メソッドを実装する (または既存のメソッドを変更する) 必要があります。

第二に、何らかの方法でデータを操作したい場合は、データをどこかに保存する必要があります。セルごとに API を呼び出す必要がある場合 (または、再利用されたセルがキューから取り出されるため)、かなりのコストがかかります。あなたはそれを配列に保存することができ、リストをリロードするためにプルして更新するなどを実装することができます.

第 3 に、複数のアイテムのみが必要な場合は、サーバーを変更する必要があります。リストの関数を作成したり、関数の 1 つを編集したりします。いずれにせよ、サーバーに対処する必要があります。

さらに、サーバーにアクセスできず、回避策がある場合にのみ、必要なデータを抽出し、ビュー目的のモデルを作成することで、これらすべてのデータを処理できます。サーバーから取得したすべてのデータをロードすることもできますが、それは遅く、メモリの面で高価になる可能性があります.

私の提案は、あなたが言及した 4 つの属性と ID を持つモデルを作成し、didSelectCellAtRowその特定のオブジェクト (車) を取得してから、すべての情報を表示することです。

于 2015-02-05T10:32:14.783 に答える