发布于 4年前

Swift2.0提供所try catch异常捕捉

     今天使用Xcode7打开之前写的一个小游戏,发现出了不少语法错,其中一处就是由于异常捕捉方式的改变导致的,原代码如下
         var error: NSError? = nil
        backgroundMusicPlayer =
            AVAudioPlayer(contentsOfURL: url, error: &error)
        if backgroundMusicPlayer == nil {
            print("Could not create audio player: \(error!)")
            return
        }

原代码中,AVAudioPlayer的构造函数有了可抛出错误的重载函数,现在的原型不接受第二个error参数,函数不再为failable,应使用try catch捕捉异常

        do{
            backgroundMusicPlayer = try
            AVAudioPlayer(contentsOfURL: url!)
        }
        catch let error as NSError {
            print("Could not create audio player: \(error)")
        }
IOS
©2020 edoou.com   京ICP备16001874号-3