繁体   English   中英

如何在iOS Swift中显示来自新Firebase的个人资料图像?

[英]How to display profile image from new Firebase in iOS Swift?

新的Firebase允许您为用户提供NSURL配置文件图像属性,但是我无法显示它。 这是我的保存方式...

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而不是图像。

您尝试显示的不是图片的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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM