使用集合查看单元格按钮 - Swift在项目中播放声音

时间:2017-12-11 17:44:31

标签: swift xcode button uicollectionviewcell avaudioplayer

当我点击按钮时,我正试图在我的项目文件中播放声音。

按钮连接到CollectionViewCell,这是重复的,所以我不能在我的ViewController上创建插座。

相反,我将一个动作插座放到我的ViewController上,以便在按下按钮时播放声音。

let musicFile = Bundle.main.path(forResource: "\(soundNames["\(sender.currentTitle)"])", ofType: "mp3")

我在这里要做的是;我的按钮已经根据我之前创建的数组命名,所以如果我能得到按钮的名称,那就确定.mp3文件在我的项目中并且它将会播放。

但上面提供的代码行给出了错误:

Cannot subscript a value of type '[String]' with an index of type 'String'

我该如何使这项工作?如有必要,我可以提供更多代码。

提前致谢。

1 个答案:

答案 0 :(得分:0)

删除"\(...)"表示法。你不是在这里打印;你正在传递一个实际的字符串。直接使用实际值来形成该字符串。这种事情可能有用:

let index = 0 // getting the _real_ number is the issue, perhaps
let title = soundNames[index]
let musicFile = Bundle.main.path(forResource: title, ofType: "mp3")

但实际上,这完全取决于soundNames是如何构建的,你没有展示过。