对于var testAudio
我的iPhone应用程序中的声明,我在这里收到错误
“可以抛出调用,但是不能从属性初始化程序中抛出错误”
import UIKit
import AVFoundation
class ViewController: UIViewController {
var testAudio = AVAudioPlayer(contentsOfURL: NSURL (fileURLWithPath: NSBundle.mainBundle().pathForResource("testAudio", ofType: "wav")!), fileTypeHint:nil)
当我移到Xcode 7 beta时发生了这种情况。
如何使此音频剪辑在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", ofType: "wav")!), fileTypeHint:nil)
} catch {
//Handle the error
}
}
这使您有机会处理在创建音频播放器时可能出现的任何错误,并且将停止向您发出警告的Xcode。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句