2015-09-03 50 views
-1

爲什麼我收到主題1:EXE_BAD_INSTRUCTION致命錯誤:意外發現零而展開

這是我的代碼

override func viewDidAppear(animated: Bool) { 

    var fileclocaiton = NSString(string: NSBundle.mainBundle().pathForResource(self.navigationItem.title, ofType: "mp3")!) 
    var error: NSError? = nil 
    player = AVAudioPlayer(contentsOfURL: NSURL(string: fileclocaiton as String), error: &error) 
} 

回答

0
var fileclocaiton = NSString(string: NSBundle.mainBundle().pathForResource(self.navigationItem.title, ofType: "mp3")!) 

此行是崩潰的源頭。你確定你有和navigationItem.title相同的資源嗎? navigationItem.title與UIViewController的title屬性相同嗎?您必須嘗試並確保該類型的資源存在。你能避免碰撞的情況下,如果讓作爲資源沒有使用發現,

if let fileclocaiton = NSString(string: NSBundle.mainBundle().pathForResource(self.navigationItem.title, ofType: "mp3")) { 

    ... do rest of your coding here. 
} 
+0

你是正確的關於綁定的fileLocation,但它可以使用URLForResource(_得到進一步改善:withExtension :)自從上一個NSBundle方法AVPlayer需要一個URL。保存必須在可分解的NSURL初始化器上第二次綁定。 –

相關問題