2016-07-12 26 views
0

新的Firebase可讓您爲用戶提供NSURL個人資料圖片媒體資源,但我在顯示時遇到問題。下面是我如何保存呢......如何在iOS Swift中顯示新Firebase中的配置文件圖像?

let user = FIRAuth.auth()?.currentUser 
if let user = user { 
    let changeRequest = user.profileChangeRequest() 
    changeRequest.photoURL = searchURL 
    changeRequest.commitChangesWithCompletion { error in 
     if let _ = error { 
      print("Try Again") 
     } else { 
      print("Photo Updated") 
      self.profileImage.image = image 
     } 
    } 
} 

這是我正在努力找回它....

if let user = FIRAuth.auth()?.currentUser 
{ 
    let name = user.displayName 
    let pic = user.photoURL 
    self.displayNameLBL.text = name 
    if pic != nil 
    { 
     print(pic!) 
     let urlString: String = pic!.path! 
     self.profileImage.image = UIImage(named: urlString) 
     //self.profileImage.image = UIImage(data: pic! as NSURL) 
    }else 
    { 
     self.profileImage.image = UIImage(named: "imagePlaceholder") 
    } 
} 

我越來越user.displayName但不圖片。

回答

1

您試圖顯示的URL不是你需要下載的圖片首先,你可以使用這個擴展的圖像:

extension UIImageView { 
     func downloadedFrom(link: String, contentMode mode: UIViewContentMode = .ScaleAspectFit) { 
      guard let url = NSURL(string: link) else { return } 
      contentMode = mode 
      NSURLSession.sharedSession().dataTaskWithURL(url) { (data, response, error) in 
       guard 
        let httpURLResponse = response as? NSHTTPURLResponse where httpURLResponse.statusCode == 200, 
        let mimeType = response?.MIMEType where mimeType.hasPrefix("image"), 
        let data = data where error == nil, 
        let image = UIImage(data: data) 
        else { return } 
       dispatch_sync(dispatch_get_main_queue()) { 
        self.image = image 
       } 
       }.resume() 
     } 
    } 

用法:

imageView.downloadedFrom(stringURL, contentMode: .ScaleAspectFill) 
+0

這是行不通的。你在哪裏得到了'stringURL'?我不確定是否從UIImagePicker正確保存它。 –

相關問題