当我检查 url 字符串图像时得到一个 nil
Get a nil when I check url string image
我的图像中有空 url 字符串。我将 url 字符串 图像保存在 firestore 中。但有时会出现无图需要检查return空图
加载视图时出现错误 nil
。因为我在firestore中的变量是空的。
这是我的代码:
guard let dataLogoImage = try? Data(contentsOf: URL(string: self.hall!.studioHallLogo)!) else { return }
然后我将 dataLogoImage
应用于变量 tempLogoImage
。
self.tempLogoImage = UIImage(data: dataLogoImage)
如何检查 Data
或 空 url 字符串 并避免 nil
?
大卫是对的。所以这是 URLSession.dataTask
用法的示例。这应该适合你。
if let urlString = self.hall?.studioHallLogo,
let url = URL(string: urlString) {
let task = URLSession.shared.dataTask(with: url) { data, response, error in
guard let data = data, error == nil else { return }
// execute on main thread
DispatchQueue.main.async {
self.tempLogoImage = UIImage(data: data)
}
}
task.resume()
}
如您所见,我们正在安全地解包您的可选内容,例如 self.hall?.studioHallLogo
,并创建您的 URL
对象。 :) 很快你就会需要一个库来更好地处理图像加载和缓存。我很乐意建议:Kingfisher
希望对您有所帮助。祝你好运。
我的图像中有空 url 字符串。我将 url 字符串 图像保存在 firestore 中。但有时会出现无图需要检查return空图
加载视图时出现错误 nil
。因为我在firestore中的变量是空的。
这是我的代码:
guard let dataLogoImage = try? Data(contentsOf: URL(string: self.hall!.studioHallLogo)!) else { return }
然后我将 dataLogoImage
应用于变量 tempLogoImage
。
self.tempLogoImage = UIImage(data: dataLogoImage)
如何检查 Data
或 空 url 字符串 并避免 nil
?
大卫是对的。所以这是 URLSession.dataTask
用法的示例。这应该适合你。
if let urlString = self.hall?.studioHallLogo,
let url = URL(string: urlString) {
let task = URLSession.shared.dataTask(with: url) { data, response, error in
guard let data = data, error == nil else { return }
// execute on main thread
DispatchQueue.main.async {
self.tempLogoImage = UIImage(data: data)
}
}
task.resume()
}
如您所见,我们正在安全地解包您的可选内容,例如 self.hall?.studioHallLogo
,并创建您的 URL
对象。 :) 很快你就会需要一个库来更好地处理图像加载和缓存。我很乐意建议:Kingfisher
希望对您有所帮助。祝你好运。