Swift 如何在不继承 AVAudioPlayer 的类上使用 AVAudioPlayerDelegate?

Ada*_*dam 2 xcode delegates avaudioplayer swift

class myClass: AVAudioPlayerDelegate{
    var player = AVAudioPlayer()

    init(){
        player.delegate = self
    }

    func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
          print("The song ended")
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在学习 Swift 并尝试制作音乐播放应用程序。我有一个自定义类,它具有称为player 的AVAudioPlayer 对象作为其属性。如何将这些AVAudioPlayerDelegate方法与玩家对象一起使用?

当有这样的代码时,我收到错误:

类型 myClass 不符合协议 NSObjectProtocol

Mig*_*sla 5

继承自 NSObject。

class myClass: NSObject, AVAudioPlayerDelegate {
    var player = AVAudioPlayer()

    init(){
        player.delegate = self
    }

    func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
          print("The song ended")
    }
}
Run Code Online (Sandbox Code Playgroud)