【发布时间】:2019-11-22 16:29:35
【问题描述】:
我想从服务器 URL 获取图像到我的栏按钮项。我正在使用如下代码,但它给出了一个错误:线程 1:致命错误:在隐式展开可选值时意外发现 nil。我怎么解决这个问题 ?注意:loadImg 函数是一个扩展,它在另一个控制器中工作。 serverURL 是我的个人资料数据类。
let imageView = UIImageView()
imageView.loadImg(url: URL(string: self.serverURL.ppUrl!)!) // this line give error
let customView = UIButton(type: .system)
customView.setImage(imageView.image, for: .normal)
customView.backgroundColor = .white
let barButtonItem = UIBarButtonItem(customView: customView)
navigationItem.leftBarButtonItem = barButtonItem
extension UIImageView {
public func loadImg(url: URL) {
DispatchQueue.global().async { [weak self] in
if let data = try? Data(contentsOf: url) {
if let image = UIImage(data: data) {
DispatchQueue.main.async {
self?.image = image
}
}
}
}
}
}
【问题讨论】:
标签: swift uiimageview uibarbuttonitem