2015-11-20 43 views
2

出錯:無法分配類型'AnyObject?'的值以類型的值「NSURL」錯誤:無法指定'AnyObject'類型的值?到類型'NSURL'的值

我的代碼:

var videoPlayer = MPMoviePlayerController() 
    var mediaUI = UIImagePickerController() 
    var videoURL = NSURL() 



func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]){ 

       // error in below first line 

     self.videoURL = info[UIImagePickerControllerMediaURL] 
     mediaUI.dismissViewControllerAnimated(true, completion: nil) 
     self.videoPlayer = MPMoviePlayerController() 
     self.videoPlayer.contentURL = videoURL 
     self.videoPlayer.view.frame = CGRectMake(0,0,self.view.frame.size.width,460) 
     self.view.addSubview(self.videoPlayer.view) 
     self.videoPlayer.play() 

     } 

如何更改代碼,以解決我的錯誤。

回答

2

info[UIImagePickerControllerMediaURL]AnyObject?的類型,但是self.videoURL的類型是NSURL

安全地轉換結果作爲NSURL:

if let vURL = info[UIImagePickerControllerMediaURL] as? NSURL { 
    self.videoURL = vURL 
} 

這是你的代碼固定:

var videoPlayer = MPMoviePlayerController() 
var mediaUI = UIImagePickerController() 
var videoURL = NSURL() 

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 

    if let vURL = info[UIImagePickerControllerMediaURL] as? NSURL { 
     self.videoURL = vURL 
    } else { 
     print("oops, no url") 
    } 
    mediaUI.dismissViewControllerAnimated(true, completion: nil) 
    self.videoPlayer = MPMoviePlayerController() 
    self.videoPlayer.contentURL = videoURL 
    self.videoPlayer.view.frame = CGRectMake(0,0,self.view.frame.size.width,460) 
    self.view.addSubview(self.videoPlayer.view) 
    self.videoPlayer.play() 

} 
+0

請看到我的編輯職位。它是否正確?如果是這樣我得到錯誤。請我是ios新手。請幫助我解決 – user5513630

+0

看看我更新的答案。 – Moritz

+0

是的,謝謝我也更新了。 – user5513630

相關問題