2016-07-12 4 views
0

새로운 Firebase를 사용하면 사용자의 NSURL 프로필 이미지 속성을 가질 수 있지만 표시하는 데 문제가 있습니다. 여기에 iOS에서 새로운 Firebase의 프로필 이미지를 표시하는 방법 Swift?

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하지만납니다 .... 내가 ......

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 
     } 
    } 
} 

을을 저장하고있어 그리고 나는 그것을 검색하는 것을 시도하고 어떻게이 얼마나입니다 이미지.

답변

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에서 올바르게 저장하는지 잘 모르겠습니다. –