我是iOS开发的初学者,并且正在开发天气应用程序。我想在3天之内找到解决以下问题的任何方法,但是没有任何线索。所以请帮我。
问题是如何使用从以下代码中获取的数据填充tableViewCells?
//TODO: get 3 day forecast
func getWeather() {
let params: [String:String] = ["q": place!, "appid": APP_ID]
Alamofire.request(WEATHER_URL ,method: .get, parameters: params).responseJSON { (response) in
let result = JSON(response.result.value!)
print(result)
}
}
func updateTable( json: JSON) {
print(json["list"].count)
for i in 0...json.count - 1 {
self.weatherObject.date = json["list"][i]["dt_txt"].stringValue
self.weatherObject.temp = json["list"][i]["main"]["temp"].intValue
self.weatherObject.weather = json["list"][i]["weather"][0]["main"].stringValue
print(weatherObject.date)
forecastDate.append(weatherObject.date)
forecastTemp.append(weatherObject.temp)
forecastWeather.append(weatherObject.weather)
print(forecastDate[i])
print(forecastTemp[i])
print(forecastWeather[i])
}
}
weatherObject
是我创建的用于构造天气数据的天气类的对象。
这真的很令人困惑,因为每当我尝试将以下数组传递给:tabletable委托和datasource方法中的ForecastWeather,ForecastDate,ForecastTemp时,实际上那里没有值。 有什么办法可以解决这个编码问题?
答案 0 :(得分:0)
只需将结果保存到UIViewController中的结构或类数组中即可。然后实施以下方法:
@model FSVendor.Models.Manifest.ManifestFilterViewModel
<label>States:</label>
@Html.DropDownList(Model.Name, Model.SelectListItems, new { @class = "form-control filter-select", data_multi_select = "", multiple = "multiple", @Model.DataTag })
在ViewController中,完成数据下载后,调用func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return yourArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "providerCell", for: indexPath) as! YourTableViewCell
// set your data to cell
return cell
}
。
我建议您找到一些教程,例如https://www.ralfebert.de/ios-examples/uikit/uitableviewcontroller/。