【发布时间】:2021-06-22 09:13:46
【问题描述】:
所以基本上我想从我的 REST 服务中创建一个 TableList。 REST服务可以通过这个代码块解码:
func getAllParkeergarages(_ completion: @escaping ([Parkeergarage]) -> ()) {
if let url = URL(string: "http://localhost:8080/parkeergarages") {
URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data {
do {
let res = try JSONDecoder().decode([Parkeergarage].self, from: data)
print(res)
completion(res)
return
} catch let error {
print(error)
}
}
}.resume()
}
}
通过使用此代码块,我可以在终端中打印整个 JSON:
getAllParkeergarages { (array) in
print(array)
}
要在 TableView 中获取数据,我需要将数据保存在变量中。但这是我卡住的地方。我尝试了一些不同的方法,例如:
private var data: [Parkeergarage] = getAllParkeergarages { (array) in
return array
}
但是给了我一个错误:'无法将'()'类型的值转换为指定类型'[Parkeergarage]'。有人可以帮我得到变量中函数的结果吗?
【问题讨论】:
-
您需要将最后一个代码
private var data: [Parkeergarage]分开,然后在其他地方getAllParkeergarages { (array) in self.data = array }
标签: arrays json swift variables