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

Posted

技术标签:

【中文标题】如何处理来自 API 调用的 ios 数据【英文标题】:How to handle ios data from API call 【发布时间】:2015-02-05 10:11:59 【问题描述】:

当我像这样使用 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

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

【问题讨论】:

关于如何从 JSON 读取数据的讨论很多。那么你所要做的就是保留那些看起来很重要的信息,并且可以丢弃(而不是保留)无用的信息。 【参考方案1】:

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

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

所以,任何建议如何在代码中做到这一点以创建更好 性能。我的意思是我需要先将数据存储在某个数组中吗? 在表格视图中显示它们。我需要的是来自正​​文的四个数据 "vendorName,image0,mileage,modelName". 所以只有一张图片 视图,表格视图中的三个标签,如上图所示。任何代码 感谢您的帮助和建议。

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

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

第三,如果您只想要几个项目,同样,您将不得不更改服务器。也许为列表创建函数,也许编辑其中一个函数。无论哪种方式,您都必须与服务器打交道。

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

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

【讨论】:

谢谢尼克……这个建议对我有很大帮助,也让新手明白。所以如果我有问题要问,我可以把这个问题的链接放在这个评论中吗?跨度> 没问题,很高兴为您提供帮助 NickCatib....我问一个关于api调用的问题。***.com/questions/28449654/…

以上是关于如何处理来自 API 调用的 ios 数据的主要内容,如果未能解决你的问题,请参考以下文章

调用 REST API 时如何处理 Google Ads API 速率限制?

如何处理调用 API 的 Next.js 中动态路由的未找到 404?

如何处理异步 axios api 调用

单元测试时如何处理 API 调用速率限制?

Android/Parse-如何处理来自 ParseQuery 的多个回调

如何处理进行中的请求以使用redux saga显示加载程序?