尝试使用 Photos Framework [Swift 2.0] 从 imagepickercontroller 检索 NSURL

Trying to retrieve NSURL from imagepickercontroller with Photos Framework [Swift 2.0]

当用户使用照片框架通过图像选择器控制器选择图像或视频时,我试图从图像或视频中抓取 NSURL

import Photos

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

    let url: NSURL = (info["UIImagePickerControllerReferenceURL"] as! NSURL)
    mediaUploadView.image = info[UIImagePickerControllerOriginalImage]as? UIImage

    print(url)
    self.dismissViewControllerAnimated(true, completion: nil)
    return UIImagePickerControllerReferenceURL
}

我收到错误 "unexpected non void return value in void function"。

最终目标是使用 NSURL 将图像/视频/gif 上传到 Firebase 数据库。

老实说,我不确定我的逻辑是否正确,我对编码还是个新手。非常感谢任何帮助!

在swift中,你必须在函数末尾的开头“{”之前说出return值是什么,如果你不这样做,那么它被认为是一个空函数。 void 函数意味着它没有 return 任何值。所以,要告诉它它将 return 一个 NSURL,试试这个:

import Photos

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

let url: NSURL = (info[UIImagePickerControllerReferenceURL] as! NSURL)
mediaUploadView.image = info[UIImagePickerControllerOriginalImage]as? UIImage

print(url)
self.dismissViewControllerAnimated(true, completion: nil)
return url

}

只需复制并粘贴即可,唯一的区别是它告诉函数 return 值将是什么,并且不再 return 那个错误。我还建议删除

周围的“”
(info[UIImagePickerControllerReferenceURL] as! NSURL)

这将 return 一个 NSURL。