Заполнение таблицы из JSON - PullRequest
0 голосов
/ 30 мая 2018

Я получаю некоторые данные JSON из API и хочу поместить их в таблицу.Я объявил глобальный массив для хранения в нем JSON, а затем поместил этот массив в таблицу.

do {
    let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
    if let parseJSON = json
    {
        let IDD = parseJSON["categoryList"] as AnyObject
        let userID = IDD.value(forKey: "goodTypeName")
        print(userID as Any)

        Global.GlobalVariable.names = userID as! [String]
        print(Global.GlobalVariable.names)

Приведенный выше код показывает только часть моего кода, в котором я сохраняю JSON в Global.GlobalVariable.names.

class Global: UIViewController
{
    struct GlobalVariable
    {
        static var names  = ["2" , "2" , "3","4","5","6","7","8","9"]
    }
}

Приведенный выше код является моей глобальной переменной.

Когда я собираюсь заполнить таблицу данными JSON, которые я сохранил в своем массиве, он показывает исходный массивdata (1,2,3 ..).

Но когда я прокручиваю страницу, тогда отображаются нужные мне данные.Ячейки получают данные только после прокрутки.

1 Ответ

0 голосов
/ 30 мая 2018

Вам нужно перезагрузить, он показывает, когда вы прокручиваете, поскольку модель обновляется, и старые показанные данные становятся на лету, когда вы вызываете прокрутку cellForRowAt, и она выбирает новые данные

Global.GlobalVariable.names = userID as! [String]
DispatchQueue.main.async {
  self.tableView.reloadData()
}
...