gpt4 book ai didi

error-handling - 'NSError' 不可转换为 'AutoreleasingUnsafePointer'

转载 作者:可可西里 更新时间:2023-11-01 00:38:21 25 4
gpt4 key购买 nike

在我的 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输出参数。这种类型大致等同于 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com