使用 AVAudioPlayer 解包 Optional 值时意外发现 nil
Posted
技术标签:
【中文标题】使用 AVAudioPlayer 解包 Optional 值时意外发现 nil【英文标题】:unexpectedly found nil while unwrapping an Optional value with AVAudioPlayer 【发布时间】:2014-11-23 21:38:30 【问题描述】:所以这段代码在 ios 模拟器上运行良好,但在我的 iPad Mini 上却不行
var sound = NSURL(fileURLWithPath:"/Users/Dan/Documents/XCode Code/Colors- Tabbed?/Colors- Tabbed?/Sweg.aiff")
var audioPlayer = AVAudioPlayer()
audioPlayer = AVAudioPlayer(contentsOfURL: sound, error: &error)
var error: NSError?
我在最后一行收到错误“在展开可选值时意外发现 nil”。
【问题讨论】:
【参考方案1】:AVAudioPlayer
似乎尚未经过审核。它返回一个隐式展开的可选项,可以是nil
,并且显然 is 在您的 iPad 上。 (可能是因为您的 iPad 不知道 /Users/Dan/Documents/...
在哪里,因为它在您的计算机上。)
您希望以可选值捕获播放器,以便在使用之前测试nil
:
var sound = NSURL(fileURLWithPath:"/Users/Dan/Documents/XCode Code/Colors- Tabbed?/Colors- Tabbed?/Sweg.aiff")
var error: NSError?
var audioPlayer: AVAudioPlayer? = AVAudioPlayer(contentsOfURL: sound, error: &error)
if let audioPlayer = audioPlayer
// do things with the audioPlayer
【讨论】:
非常感谢,您知道如何将该文件放入我的实际应用程序中以便我的 iPad 可以找到它吗?如果是这样,我会这样称呼它吗?以上是关于使用 AVAudioPlayer 解包 Optional 值时意外发现 nil的主要内容,如果未能解决你的问题,请参考以下文章