ios - 获取 CollectionView 中的数据

标签 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中而不使其全局可用于所有其他函数?

最佳答案

当您下载数据时,您可以将其存储为 View Controller 的变量(属性)。

Collection View 委托(delegate) didSelectItemAt 函数将访问此字段,就像您在上面的示例中所做的那样。

此属性只能在 View Controller 内访问(您可以将其设置为“私有(private)”,以便它不能在 View Controller 本身之外使用)。通过这样做,所有函数和类都无法访问它,正如您所说的要避免的那样。

为了避免将数据存储为 View Controller 的属性,您可能希望将其移至网络(下载代码)和 Collection View 委托(delegate)有权访问的另一个类。

关于ios - 获取 CollectionView 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48885794/

相关文章:

json - 如何使用 Actix-Web 从同一请求中提取路径参数并解析 JSON 正文

php - 使用 JSON 获取新内容的最佳过程是什么?

ios - 有没有办法让自定义表格 View 单元格看起来像 Xcode 6+ 中的按钮?

ios - PHAsset CLLocation 未提供与照片应用相同的位置

ios - 当 audioqueue 播放从 ffmpeg 解码的 lpcm 时,音频队列的耗时超过了媒体的持续时间

database - Grails可为空的列在JSON中返回value = {“class” :“java.lang.Character”}

swift - 如何使用 xib 创建单例 UIView 以在不同的 VC 上使用一个实例?

iOS Swift 使用 Segue 在 vi​​ewController 之间传递变量

ios - UILabels 作为 UIView 子类的一部分不会启动

ios - 解析 NSBlockOperation 的 executionBlocks