Как я могу обновить данные в представлении коллекции в Swift 4? - PullRequest
0 голосов
/ 30 октября 2018

У меня есть функция обновления данных массива каждые 2 секунды

var timer = Timer()

func timeRefresh(){
    timer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(ViewController.refreshData), userInfo: nil, repeats: true)

}

Получаю данные от почтовой службы

@objc func refreshData(){

    post(postString, Route) { (res) in

        let success = res["success"]

        if success == true {
            let walkers = res["walkers"]

            for secondItem in walkers.array! {
                let duration = secondItem["duration"]

                self.timeCar.append(duration.stringValue) //this is the info that i need for the collection view

                }
            }

            print("array time \(self.timeCar)")

        }else{
            self.timeCar = ["-.-","-.-","-.-","-.-","-.-"]
        }
    }
}

Мне нужно обновлять представление коллекции каждую секунду

cell.typeLabel.text = timeCar[indexPath.row]

1 Ответ

0 голосов
/ 30 октября 2018

UICollectionView имеет несколько способов перезагрузки данных.

Если вы хотите, чтобы каждая ячейка была перезагружена: collectionView.reloadData().

Если вы хотите перезагрузить определенный раздел: collectionView.reloadSections(<Array of Sections>).

Если вы хотите перезагрузить определенные ячейки: collectionView.reloadItems(<Array of IndexPaths>).

...