【发布时间】:2017-07-26 22:07:00
【问题描述】:
我正在构建一个应用程序,人们需要在其中填写表格,然后它会创建一个 HTTP 帖子,其中 API 将向应用程序返回一个包含我需要的数据的 Json 文件。访问 API 一切正常,但是我想在另一个视图控制器中解析数据。如何从另一个视图控制器访问 JSON 文件?
let task = session.dataTask(with: request as URLRequest, completionHandler: { data, response, error in
guard error == nil else {
return
}
guard let data = data else {
return
}
do {
//create json object from data
if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {
print(json)
^^^^^^^
How do I take this JSON file to the next view controller so I dont have to do the parsing below?
let jsonData = json
let ratesJson = jsonData["rates"]!
let rates = ratesJson as! NSArray
print("Rates: \(rates)")
print("*************")
print(rates.count)
print("*************")
for item in 0..<rates.count {
let specificRate = rates[item]
let price = (specificRate as AnyObject)["amount_local"]!
let provider = (specificRate as AnyObject)["provider"]!
print("--\(item)--")
print("Price: \(price!)")
print("Provider: \(provider!)")
}
}
} catch let error {
print(error.localizedDescription)
}
})
【问题讨论】:
-
你如何展示你的另一种观点? o 提出请求的人和您要处理数据的人之间的关系是什么?
-
如果您在任一类之外保存变量,则两个类都可以访问它。如果您有项目结构或对象,请在解析 json 时尝试存储项目数组。然后您就可以从任何其他 VC 访问它
-
你在使用 Storyboard Segues 吗?已经回答(虽然在 objc 中):stackoverflow.com/questions/5210535/…
标签: arrays json swift nsdictionary