SwiftyJson 是不是可以更快地解析 swift json?

Posted

技术标签:

【中文标题】SwiftyJson 是不是可以更快地解析 swift json?【英文标题】:Does SwiftyJson make parsing swift json faster?SwiftyJson 是否可以更快地解析 swift json? 【发布时间】:2017-07-16 20:58:56 【问题描述】:

我最近制作了一个从打开的天气地图中获取数据的天气,但是解析后的数据需要 永远 才能显示在屏幕上... 使用这样的代码:

let tempF = jsonResult["tempFahrenheit"]

我知道数据很快,因为我看到 url 结果立即显示在控制台中,那么 swiftyjson 会加快在屏幕上显示数据的速度吗? Swift 3 有 swiftyjson 吗??

【问题讨论】:

如果你能告诉我你的解析代码和ui更新会很好。问题与 sifty json 无关。它是别的东西。 【参考方案1】:

您发布的代码似乎没有更新屏幕上的任何 UI 元素。

如果您在其他地方使用类似

的方式更新 UI

mylabel.text = someVariable

UI 还是卡顿,可能是因为你没有封装 UI 改变主线程。

进行上述更新的正确方法是

DispatchQueue.main.async mylabel.text = someVariable

【讨论】:

所以我会把它放在视图控制器 viewDidLoad 中?我仍然不明白,一旦我获得数据,它会花费这么长时间来更新屏幕...... 你必须在主线程上更新 UI 为什么在这里解释,quora.com/Why-must-the-UI-always-be-updated-on-Main-Thread DispatchQueue.main.async 可以在函数内部吗?如果有,怎么做?【参考方案2】:

调用 API> 获取响应> 解析数据 > 更新 UI [应该在主队列中]

在主队列中编写与 UI 更新相关的代码,如下所示...

DispatchQueue.main.async 
 textFiled.text = yourText
 imageview.image = yourImage
.......

【讨论】:

以上是关于SwiftyJson 是不是可以更快地解析 swift json?的主要内容,如果未能解决你的问题,请参考以下文章

使用 SwiftyJSON 解析复杂的 JSON

Alamofire 和 SwiftyJSON

我应该如何使用 Alamofire 和 SwiftyJSON 解析来自 API 的 JSON 响应?

使用 SwiftyJSON 解析 json

使用 swiftyJSON 在 Swift 2.0 中解析 JSON 时获取空值

swift、Alamofire、SwiftyJSON:如何解析 arrayObject