我已经从JSON文件中下载了一些数据,现在我将它放在一个特别针对这些数据的对象中。我现在想在我看到它时在collectionView中获取该数据,是否必须使这些数据全局可用于所有函数和类,或者是否有一种方法来访问CollectionView中的数据而无需每次都从服务器下载数据你点击collectionView?
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
var sliderArray = [UISlider]()
sliderValueDidChange(data: ? index: indexPath.row slider: sliderArray)
}
func sliderValueDidChange(data: [class] slider:[UISlider]){
data[index]
slider.minimumValue = data[index].value
}
那样的东西,但我的意思是如何将数据放入collectionView而不使其全局可用于其他所有函数?
答案 0 :(得分:0)
下载数据时,可以将其存储为视图控制器的变量(属性)。
集合视图委托didSelectItemAt函数将像上面的示例中那样访问此字段。
此属性只能在视图控制器中访问(您可以将其设置为私有'以便它不能在视图控制器本身之外使用)。通过这样做,所有功能和类都无法访问,正如您所说的那样。
为避免将数据存储为视图控制器的属性,您可能希望将其移出到网络(下载代码)和集合视图委托可以访问的另一个类。