2015-11-20 3 views
2

Ошибка Geting: Нельзя присвоить значение типа «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 .please помогите мне – user5513630

+0

Взгляните на мой обновленный ответ. – Moritz

+0

да, спасибо, я тоже обновился. – user5513630

Смежные вопросы