-1

When i call api using Alamofire like this

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!")
        }
    }

And I got many json format which include {"header","body"}. Header are like this

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

The body string include 15 rows per page including many data like this,i gonna show you one only.

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

Everytime i request,it give me 15 results.All i want is to show this in table view using table cell,label and image view like this

So,any suggestion how to do that in code to create better performance.i mean do i need to store data first in some array and display them in the table view.All i need is four data from the body "vendorName,image0,mileage,modelName".So there are one image view,three labels in the table view as i show at above figure.Any Code Help and Suggestion is appreciated.

4

1 回答 1

1

既然你问了几个问题,我就回答一下。我假设您知道如何从 JSON 读取数据(您没有那个特定的问题)。所以,让我贴一些你的文字

每次我请求时,它都会给我 15 个结果。我想要的只是使用表格单元格、标签和图像视图在表格视图中显示这个

所以,任何建议如何在代码中创建更好的性能。我的意思是我需要先将数据存储在某个数组中并在表格视图中显示它们。我需要的是来自正​​文“供应商名称,图像0,里程”的四个数据,modelName”。因此,如上图所示,表格视图中有一个图像视图,三个标签。感谢任何代码帮助和建议。

首先,如果您想获得更少的结果,那么决定权的不是您的应用程序。那是服务器端。您必须实施方法(或更改现有方法)才能获得想要的结果。

其次,如果您想以一种或另一种方式操作数据,则必须将其存储在某个地方。如果您必须为每个单元格调用 API(或者,因为重用的单元格无论如何都会出队),那将是非常昂贵的。您可以将其存储在数组中,也可以实现拉取刷新以重新加载列表等。

第三,如果您只想要几个项目,同样,您将不得不更改服务器。也许为列表创建函数,也许编辑其中一个函数。一种或另一种方式,您将不得不处理服务器。

此外,您可以通过提取所需数据并创建视图目的模型来处理所有这些数据,前提是您无权访问服务器并且可以解决。您还可以加载从服务器获取的所有数据,但这可能会很慢,内存成本高等。

我的建议是创建具有您提到的 4 个属性和 ID 的模型,然后didSelectCellAtRow获取该特定对象(汽车),然后显示所有信息。

于 2015-02-05T10:32:14.783 回答