Нажмите кнопку ячейки CollectionView, чтобы воспроизвести звук из определенного массива и скопировать фильм из определенного массива.
Использование Swift 3
Я установил collectionView с 7 разделами - когда пользователь нажимает на ячейку (кнопку), конкретный звук будет воспроизводиться из массива звуков.
Итак, как мне разделить разделы в collectionView, чтобы соответствовать определенному массиву звуков?
например
1) звуки в soundArray1 будут воспроизводиться, когда пользователи нажимают ячейки (кнопки) в разделе 1 collectionView.
2) звуки в soundArray2 будут воспроизводиться, когда пользователи касаются ячеек (кнопок) в разделе 2 collectionView.
3) звуки в soundArray3 будут воспроизводиться, когда пользователи нажимают на ячейки (кнопки) в разделе 3 collectionView.
вплоть до раздела 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 - это мой первый массив звуков для раздела 1 в collectionView, который отлично работает по порядку, но этот массив peopleSounds также вызывается для каждого другого раздела в collectionView на данный момент.
так как мне теперь заставить воспроизводить мой второй массив звуков, когда пользователь нажимает кнопки в разделе 2 collectionView и т. д. до раздела 7?
благодарю вас
1 ответ
Сделайте это 2d Array и сохраните номер раздела в переменной. Вы сможете получить доступ к имени файла, как (Код в целом):
// 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]
Надеюсь, что это помогло.