我只是轉換我的應用程序斯威夫特2,當然,我得到一個錯誤信息:調用可以拋出錯誤消息,斯威夫特2
「呼叫可以拋出,但沒有打上‘嘗試’和eror是不是處理「
我在這裏搜索如何解決這個問題,但答案比錯誤本身更令我困惑。大聲笑。
我的應用程序完美工作,直到我將它改成斯威夫特2.精彩......
var myPlayer = AVAudioPlayer()
var yourSound1 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("RemSound_01", ofType: "wav")!)
func initYourSound() {
myPlayer = AVAudioPlayer(contentsOfURL: yourSound1, fileTypeHint: nil)
myPlayer.prepareToPlay()
myPlayer.volume = 1.0 // < for setting initial volume, still not perfected.
}
在下面一行的錯誤拋出:
myPlayer = AVAudioPlayer(contentsOfURL:yourSound1,fileTypeHint:無)
我該如何解決這個問題?我明白Swift正在試圖「普遍化」錯誤處理,但是通過打破最簡單的代碼這樣做對我來說似乎很愚蠢。
謝謝你的幫助。
使用Do-嘗試捕獲。一個簡單的例子在這裏:http://stackoverflow.com/a/34767908/2227743 – Moritz
我會嘗試你的建議。謝謝。 –
請注意,該方法的文檔現在說:「您可以在try語句中調用此方法,並處理do語句的catch子句中的任何錯誤,如Swift編程語言(Swift 2.1)中的錯誤處理中所述」。 –