Swift SceneKit:SCNAudioPlayer 完成块(didFinishPlayback)语法?

Swift SceneKit: SCNAudioPlayer completion block (didFinishPlayback) syntax?

我不确定为什么我不能解决这个问题,但在 SCNAudioPlayer class 的文档中,有 2 个块用于播放即将开始和播放完成。

https://developer.apple.com/reference/scenekit/scnaudioplayer/1522818-didfinishplayback

我经常创建和使用闭包,但我似乎无法让它工作:

let player = SCNAudioPlayer(source: source)
player.didFinishPlayback({()->void in
//code here
})

或同一事物的变体使 swift 3 抱怨。

我在想这可能是一个 NSNotification 策略,但对于看似简单的事情来说,这似乎是一个复杂的过程。

您正在尝试调用 didFinishPlayback,就像函数。但是正如您自己的参考 link 所示,您必须 设置 .

是一个 变量
player.didFinishPlayback = { /* ... */ }