swift Firebase return in asynchron Task

Ich habe ein Problem mit dem Firebase SDK für iOS in Swift 2. Ich versuche, ein Bild für einen Download aus dem Firebase-Speicher festzulegen. Wenn ich die Funktion aufrufe gibt es nil zurück. Ich denke, es liegt daran, dass die Download-Aufgabe, die von der Firebase-SDK bereitgestellt wird, asynchron ist. Wenn also der gemessene Rückgabestatus die erforderliche UID heißt, wird sie nicht festgelegt, da die Aufgabe nicht abgeschlossen ist. Wie kann ich das lösen, damit ich das richtige Bild zurück bekomme?

override func viewDidLoad() {
   super.viewDidLoad()
   imageView.image = downloadProfilePicFirebase()
}

Die Firebase-Download-Funktion:

func downloadProfilePicFirebase() -> UIImage{

    print("download called")

    //local paths
    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
    let documentDirectorPath:String = paths[0]
    let imagesDirectoryPath = documentDirectorPath.stringByAppendingString("/profiles")

    var uid = String()


    if let user = FIRAuth.auth()?.currentUser {
        let uid = user.uid

        let storageRef = FIRStorage.storage().referenceForURL("gs://myid.appspot.com")
        let profilePicRef = storageRef.child("/profile_pic.jpg")

        let homeDir: NSURL = NSURL.fileURLWithPath(NSHomeDirectory())
        let fileURL: NSURL = homeDir.URLByAppendingPathComponent("Documents").URLByAppendingPathComponent("profiles").URLByAppendingPathComponent("profile_pic").URLByAppendingPathExtension("jpg")

        // Download to the local filesystem
        let downloadTask = profilePicRef.writeToFile(fileURL) { (URL, error) -> Void in
            if (error != nil) {
                print(error)
            } else {
                // svaed localy now put in ImageView
            }
        }
    }
   return UIImage(contentsOfFile: "\(imagesDirectoryPath)"+"/profile_pic_user_"+uid+".jpg")!
}