在我的 iOS 应用程序中,我需要播放声音。我有以下代码:
var audioFileLocationUrl = NSBundle.mainBundle().pathForResource("midnight", ofType: "m4a")
var error: NSError
var audioPlayer = AVAudioPlayer()
audioPlayer = AVAudioPlayer(contentsOfURL: audioFileLocationUrl, error: error)
audioPlayer.prepareToPlay()
上线:
audioPlayer = AVAudioPlayer(contentsOfURL: audioFileLocationUrl, error: error)
我有错误:找不到接受提供的参数的“init”重载
最佳答案
编辑(有人向我指出何时使用 NSErrorPointer 和何时使用 NSError 有明显的区别?。这是官方的说法:
摘自“将 Swift 与 Cocoa 和 Objective-C 结合使用。”
“当需要报告错误原因时,可以向函数添加一个 NSErrorPointer 类型的 NSError out 参数。这种类型大致相当于 Objective-C 的 NSError **,具有额外的内存安全性和可选类型。您可以使用前缀 & 运算符将对可选 NSError 类型的引用作为 NSErrorPointer 对象传递,如下面的代码 list 所示。
var writeError : NSError?
AVAudioPlayer(contentsOfURL: audioFileLocationUrl, error: &writeError)
关于error-handling - “NSError”无法转换为 'AutoreleasingUnsafePointer<NSError?>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24646560/