ios - 如何解决这个 Collection View 和数组问题?

标签 ios arrays swift uicollectionview

我正在使用 Swift 3。我设置了一个包含 7 个部分的 collectionView - 当用户点击单元格(按钮)时,将从一系列声音中播放特定的声音。

那么如何分割 collectionView 中的各个部分以匹配特定的声音数组?

例如

1) 当用户点击 collectionView 第 1 部分中的单元格(按钮)时,将播放 soundArray1 中的声音

2) 当用户点击 collectionView 第 2 部分中的单元格(按钮)时,将播放 soundArray2 中的声音

3) 当用户点击 collectionView 第 3 部分中的单元格(按钮)时,将播放 soundArray3 中的声音

一直到第 7 部分。

这是用户点击 cellButton 时的当前代码

@IBAction func cellButton(_ sender: AnyObject) {
let sound =  (sender as! UIButton).tag
self.setupAudioPlayer(file: Sounds[sound] as NSString, type: ".m4a")
self.soundPlayer.play()}

其中 Sounds 是声音文件的数组 1。然而,这个声音文件数组现在正在 collectionView 的所有部分中播放。我不知道如何分割每个声音数组以匹配 collectionView 中的每个部分。

最佳答案

您需要有一个用于声音的数组:

let allSounds = [soundArray1, soundArray2, soundArray3]

其中数组中的每个元素代表 collectionView 的部分。

要获取第 0 部分中第一个元素的声音,您可以执行以下操作:

let soundArray = allSounds[0]  // Get section 0
let sound = soundArray[0] // Get sound at index 0

或者要获取第 2 部分中索引 7 处的声音,您可以:

let soundArray = allSounds[2]  // Get section 2
let sound = soundArray[6] // Get sound at index 7

关于ios - 如何解决这个 Collection View 和数组问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40104577/

相关文章:

swift - 在完成 if 语句之前运行以下脚本

java - 通过超链接预填充 iPhone 日历事件

java - 使用 C++ 或 Java 在 IOS 和 Android 移动应用程序上共享代码

python - 如何优化这个 numpy 二维排序数组的创建?

javascript - 获取间隔

swift - 每次点击时如何制作从地板到我的英雄的对称轴?

ios - 快速从 NSUserdefaults 中检索 bool 数组

android - 在后台上传

ios - 自动布局拉伸(stretch)图像问题

java - JAVA 的 equals 方法总是返回 true