【发布时间】:2018-01-09 00:07:19
【问题描述】:
我对 Swift 很陌生,我正在尝试从我解析的 JSON 数组中返回一个字符串。我不确定如何在另一个类中使用“arrayString”var,因为我没有在另一个类中“声明”它。我认为这与它在 URLSession 中有关。关于我可以做什么的任何提示?
struct Games: Decodable {
let videoLink: String
}
class BroadService: NSObject {
static let sharedInstance = BroadService()
func fetchBroadcasts(completion: @escaping ([Games]) -> ()) {
let jsonUrlString = "LINK IS HERE."
guard let url = URL(string: jsonUrlString) else { return }
URLSession.shared.dataTask(with: url) { (data, response, err) in
guard let data = data else { return }
do {
let json = try JSONDecoder().decode([Games].self, from: data)
let arrayString = (json[linkcell].videoLink)
} catch let jsonErr {
print("Error serializing json:", jsonErr)
}
}.resume()
}
这是我目前的代码,它不是世界上最整洁的东西,但它可以完成工作。
【问题讨论】:
-
当你说你在另一个课堂上使用这个有问题时,你是什么意思?在大多数情况下,它会导致类型出现问题,或者与隐式展开可选选项有关。你能扩展你遇到的问题吗?我假设'arrayString'是你想要返回的?
-
是的,遇到问题是一种糟糕的表达方式,我现在重新编辑它。我的意思是我不知道如何在不同的类中使用这个变量,因为它告诉我我没有在其他类中声明它
标签: json swift nsurlsession swift4