ios – AVAudioPlayer不再使用Swift 2.0/Xcode 7 beta

前端之家收集整理的这篇文章主要介绍了ios – AVAudioPlayer不再使用Swift 2.0/Xcode 7 beta前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于我的iPhone应用程序中的var testAudio声明,我在这里收到错误

调用可以抛出,但错误不能从属性初始化程序中抛出”

import UIKit
import AVFoundation
class ViewController: UIViewController {
    var testAudio = AVAudioPlayer(contentsOfURL: NSURL (fileURLWithPath: NSBundle.mainBundle().pathForResource("testAudio",ofType: "wav")!),fileTypeHint:nil)

当我转到Xcode 7测试版时,就发生了这种情况.

如何在Swift 2.0中使用此音频剪辑?

解决方法

Swift 2有一个全新的错误处理系统,您可以在这里阅读更多相关信息: Swift 2 Error Handling.

在您的情况下,AVAudioPlayer构造函数可能会抛出错误. Swift不会让你使用在属性初始化器中抛出错误方法,因为没有办法在那里处理它们.相反,不要在视图控制器的init之前初始化属性.

var testAudio:AVAudioPlayer;

init() {
    do {
        try testAudio = AVAudioPlayer(contentsOfURL: NSURL (fileURLWithPath: NSBundle.mainBundle().pathForResource("testAudio",fileTypeHint:nil)
    } catch {
        //Handle the error
    }
}

这使您有机会处理创建音频播放器时可能出现的任何错误,并会阻止Xcode向您发出警告.

猜你在找的iOS相关文章