버튼을 두드리면 프로젝트 파일에서 사운드를 재생하려고합니다.콜렉션이있는 프로젝트에서 사운드를 재생합니다. 셀 버튼을 봅니다. Swift
버튼이 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'
어떻게이 일을 할 수 있습니까? 필요한 경우 더 많은 코드를 제공 할 수 있습니다.
미리 감사드립니다.
오류는 질문과 관련이 없습니다. 사운드, 오디오 플레이어, 콜렉션 뷰, 셀, 뷰 컨트롤러 등과는 아무런 관련이 없습니다. 문제는 순수한 기본 Swift입니다 :'soundNames'는 배열이지만 여러분은 그것이 사전이라고 척하려고합니다. 그게 다야. – matt
이것을보십시오'let musicFile = Bundle.main.path (forResource : sender.currentTitle, ofType : "mp3")' – AshvinGudaliya
"내 버튼은 이미"그게 그 배열에 관한 전부입니다. 선언 된 방법과 작성 방법을 보여줍니다. – matt