我试图看看在
swift 4中使用Codable结构检索json数据的最新和最好的方法是什么.
我在远程URL中有以下json数据:
[ { "products": [ { "productid": "01","price": "01" },{ "productid": "02","price": "02" } ] } ]
我还设置了相应的可编码结构.我的问题是使用swift 4的最新技术检索这些数据的正确方法.
我看到了各种各样的方式,例如:
> DataManager.getJSONFromURL …
>让jsonData =尝试数据(contentsOf:URL …
> let task = URLSession.shared.dataTask(with:url)…
>尝试JSONSerialization.data …
我想知道哪个是从远程URL使用swift 4检索json数据的正确(最新)格式.谢谢.
解决方法
我找到了问题的答案.
Apple在2017年WWDC上宣布Swift 4作为Xcode 9的一部分.它为现有的Swift 3功能和稳定性带来了一些非常好的改进.在Swift 4中使用REST API的最新方法是使用URLSession和JSONDecoder.后者是随Swift 4引入的.
在Swift 3中,大多数开发人员使用第三方框架(如SwiftyJson和Alamofire)来使用REST API.大多数情况下,这样做的原因是使用Swift解析JSON非常繁琐.更准确地说 – 您必须在模型中设置初始化程序,必须执行循环以在控制器中分配值,必须对类型值进行类型转换等.您可以随时复制/粘贴代码,但仍然是压倒性的.使用Swift 4,您需要做的只是编写一行来解码和解析JSON.
在Swift 4中,您只需要URLSession和JSONDecoder来从远程URL检索json数据.
有关更多信息和示例,您可以查看此站点: