我正在使用 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/