2016-07-12 5 views
0

新しいFirebaseを使用すると、ユーザのNSURLプロファイルの画像プロパティを持つことができますが、表示に問題があります。ここで私はuser.displayNameを取得しますがないよどのように私は......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") 
    } 
} 

です画像。

答えて

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から正しく保存しているかどうかはわかりません。 –

関連する問題