Yar*_*ika 6 beta xcode ios xcode7
对于var testAudio我的iPhone应用程序中的声明,我在这里收到错误
"调用可以抛出,但错误不能从属性初始化程序中抛出"
import UIKit
import AVFoundation
class ViewController: UIViewController {
var testAudio = AVAudioPlayer(contentsOfURL: NSURL (fileURLWithPath: NSBundle.mainBundle().pathForResource("testAudio", ofType: "wav")!), fileTypeHint:nil)
Run Code Online (Sandbox Code Playgroud)
当我转到Xcode 7测试版时,就发生了这种情况.
如何在Swift 2.0中使用此音频剪辑?
Sea*_*anA 21
Swift 2有一个全新的错误处理系统,你可以在这里阅读更多相关内容:Swift 2错误处理.
在您的情况下,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
}
}
Run Code Online (Sandbox Code Playgroud)
这使您有机会处理创建音频播放器时可能出现的任何错误,并会阻止Xcode向您发出警告.
| 归档时间: |
|
| 查看次数: |
7778 次 |
| 最近记录: |