Uitableview 如何处理来自API调用的ios数据

Uitableview 如何处理来自API调用的ios数据,uitableview,swift,alamofire,swifty-json,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) }

当我像这样使用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" : {
   "toPage" : "3948",
   "totalCount" : "59212",
   "lotId" : "50205",
   "vendorName" : "TOYOTA",
   "rowPerPage" : "15",
   "fromPage" : "1",
   "currentPage" : "1",
   "modelName" : "LEXUS LS"
}
我得到了很多json格式,包括{“header”,“body”}。你是这样的吗

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" : {
   "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个结果。我只想用表格单元格、标签和图像视图在表格视图中显示这些结果


那么,如何在代码中实现这一点以创建更好的性能,有什么建议吗?我的意思是,我是否需要先将数据存储在某个数组中,然后在表视图中显示它们。我所需要的只是正文“vendorName,image0,Milege,modelName”中的四个数据。所以有一个图像视图,如上图所示,表视图中有三个标签。感谢您的代码帮助和建议。

既然您提出了几个问题,我将回答它们。我假设您知道如何从JSON读取数据(您没有那个特定的问题)。那么,让我粘贴一些您的文本

每次我请求时,它都会给我15个结果。我只想在 表视图使用表单元格、标签和图像视图,如下所示

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" : {
   "toPage" : "3948",
   "totalCount" : "59212",
   "lotId" : "50205",
   "vendorName" : "TOYOTA",
   "rowPerPage" : "15",
   "fromPage" : "1",
   "currentPage" : "1",
   "modelName" : "LEXUS LS"
}
那么,有没有建议如何在代码中这样做以创建更好的 性能。我的意思是,我是否需要先将数据存储在某个数组和 在表格视图中显示它们。我所需要的是来自主体的四个数据 “vendorName,image0,Milege,modelName”。所以只有一个图像 视图,如上图所示,表视图中有三个标签。有代码吗 感谢您的帮助和建议

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

第二,如果你想以这样或那样的方式操作数据,你必须把它存储在某个地方。如果您必须为每个单元调用API(或者,因为重用的单元都会退出队列),那么这将非常昂贵。您可以将其存储在数组中,还可以实现pull-to-refresh以重新加载列表等

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

此外,您可以通过提取所需的数据并创建视图用途模型来处理所有这些数据,但前提是您并没有访问服务器的权限和解决方法。您还可以加载从服务器获取的所有数据,但这可能会很慢,占用大量内存等


我的建议是使用您提到的4个属性和ID创建模型,并在
didSelectCellAtRow
上获取特定对象(car),然后显示所有信息。

关于如何从JSON读取数据,有很多讨论。然后你所要做的就是保留那些看起来很重要的信息,并可能丢弃(而不是保留)无用的信息。谢谢Nick…这个建议对我有很大帮助,也让新手明白。因此,如果我有问题要问,我可以在这个评论中添加问题的链接吗?当然可以,很高兴帮助NickCatib…我问了一个关于api调用的问题。