使用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: peopleSounds[sound] as NSString, type: ".m4a")
self.soundPlayer.play()
}
其中peopleSounds是我在collectionView中第1部分的第一个声音数组,它按顺序完美地工作 - 但是这个peopleSounds数组也会在collectionView中的每个其他部分调用
那么当用户点击collectionView等第2部分中的按钮直到第7部分时,我现在如何使我的第二组声音播放?
谢谢
答案 0 :(得分:0)
将其设为2d数组并将节号存储在变量中。您将能够访问文件名,如(一般代码):
// the 2d array:
let soundFiles = [[String]]()
// you should change its value by checking the selected cell's section
var currentSection = 0
// somewhere in your code, you can do:
let firstList = soundFiles[currentSection]
let soundFileName = firstList[buttonTag]
希望有所帮助。