在collectionview中访问数据

时间:2018-02-20 12:55:52

标签: ios json swift variables uicollectionview

我已经从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而不使其全局可用于其他所有函数?

1 个答案:

答案 0 :(得分:0)

下载数据时,可以将其存储为视图控制器的变量(属性)。

集合视图委托didSelectItemAt函数将像上面的示例中那样访问此字段。

此属性只能在视图控制器中访问(您可以将其设置为私有'以便它不能在视图控制器本身之外使用)。通过这样做,所有功能和类都无法访问,正如您所说的那样。

为避免将数据存储为视图控制器的属性,您可能希望将其移出到网络(下载代码)和集合视图委托可以访问的另一个类。