如何在Swift 4的集合视图中刷新数据?

时间:2018-10-30 00:04:07

标签: ios swift uicollectionview swift4

我具有每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 :(得分:1)

UICollectionView有多种重新加载数据的方式。

如果要重新加载每个单元格: collectionView.reloadData()

如果要重新加载特定部分:collectionView.reloadSections(<Array of Sections>)

如果您想重新加载特定的单元格:collectionView.reloadItems(<Array of IndexPaths>)