如何处理API调用中的ios数据

时间:2015-02-05 10:11:59

标签: uitableview swift alamofire swifty-json

当我像这样使用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!")
        }
    }

我有很多json格式,其中包括{“header”,“body”}。标题是这样的

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

正文字符串每页包含15行,包括许多这样的数据,我只给你看一个。

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

我每次请求时,都会给我15个结果。我想要的是使用表格单元格,标签和图片视图like this

在表格视图中显示

所以,任何建议如何在代码中创建更好的性能。我的意思是我需要先将数据存储在某个数组中并在表视图中显示它们。我需要的是来自正​​文“vendorName, image0,mileage,modelName“。因此,我在上图中显示了一个图像视图,表视图中的三个标签。感谢任何代码帮助和建议。

1 个答案:

答案 0 :(得分:1)

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

  

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

     

所以,任何建议如何在代码中创建更好   performance.i意味着我需要先将数据存储在某个数组中   在表视图中显示它们。我需要的是来自正​​文的四个数据   " vendorName,image0,mileage,modelName"。因此有一个图像   查看,表视图中的三个标签,如我在上图所示。任何代码   感谢帮助和建议。

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

其次,如果您想以某种方式操纵数据,则必须将其存储在某处。如果你必须为每个单元调用API(或者,因为重用的单元格无论如何都会出列),这将是非常昂贵的。您可以将其存储在数组中,也可以实现pull to refresh以重新加载列表等。

第三,如果您只想要几个项目,则必须再次更改服务器。也许为列表创建函数,也许编辑其中一个函数。无论如何,您将不得不处理服务器。

此外,您可以通过提取所需数据来处理所有这些数据,并且只有在您无法访问服务器并进行解决时才能创建视图用途模型。您还可以加载从服务器获得的所有数据,但这可能是缓慢,昂贵的内存等等。

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