Как использовать следующие данные для заполнения ячеек таблицы VIew? - PullRequest
0 голосов
/ 25 июня 2018

Я новичок в разработке для iOS и работаю над погодным приложением.Я пытаюсь найти решение для следующей проблемы в течение 3 дней, но никаких подсказок.Поэтому, пожалуйста, помогите мне в этом.

Проблема в том, как использовать данные, извлеченные из приведенного ниже кода, для заполнения таблицыViewCells?

//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 является объектом класса погодыкоторый я создал, чтобы структурировать данные о погоде.

Это действительно очень запутанно, поскольку всякий раз, когда я пытаюсь передать массивы, которые:там.Есть ли способ решить эту проблему кодирования?

1 Ответ

0 голосов
/ 25 июня 2018

Просто сохраните результат в массив структур или классов в вашем UIViewController.Затем реализуйте следующие методы:

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
}

В вашем ViewController, когда загрузка данных завершится, вызовите tableView.reloadData().

Я рекомендую вам найти какой-нибудь учебник, например https://www.ralfebert.de/ios-examples/uikit/uitableviewcontroller/.

...