2016-06-06 12 views
1

Ich versuche, eine NSURL aus einem Bild oder Video abrufen zu greifen, wenn ein Benutzer es durch einen imagepickercontroller auswählt, Rahmen die Fotos mitVersuch NSURL von imagepickercontroller mit Fotos Rahmen [Swift 2.0]

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 
} 

I erhalten der Fehler "unerwarteter nicht void Rückgabewert in der void-Funktion".

Das Endziel ist die Verwendung der NSURL, um das Bild/Video/GIF in eine Firebase-Datenbank hochzuladen.

Ich bin ehrlich gesagt nicht sicher, ob meine Logik hier korrekt ist, ich bin noch neu im Codieren. Jede Hilfe wird sehr geschätzt!

Antwort

0

In swift, muss man am Ende der Funktion vor der Öffnung sagen "{" was der Rückgabewert sein wird, wenn nicht, dann wird es als Leerfunktion betrachtet. Eine ungültige Funktion bedeutet, dass sie keinen Wert zurückgibt. Also, es zu sagen, dass es eine NSURL zurückkehren, versuchen Sie dies:

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 

}

Nur diese kopieren und einfügen, der einzige Unterschied besteht darin, dass sie die Funktion sagt, was der Rückgabewert sein wird, und wird diesen Fehler nicht mehr zurückgeben. Ich schlage auch vor, die "" um die

(info[UIImagePickerControllerReferenceURL] as! NSURL) 

zu entfernen. Dies wird eine NSURL zurückgeben.

Verwandte Themen