如何修复此集合视图和数组问题?

时间:2016-10-18 09:32:31

标签: 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中的每个部分。

1 个答案:

答案 0 :(得分:0)

你需要有一个声音数组:

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