为什么这张图片 link 没有显示在 ios 的 UIimageView 中?
Why this image link not showing up in UIimageView in ios?
为什么这张图片 link 没有显示在 ios 的 UIimageView 中?
var url = URL(string: "https://bill.ps/uploads/32065621a012e53f749c15b0a8468d71swift_file5486.png")
代码
func fetchImage(_ photoURL: URL?) {
guard let imageURL = photoURL else { return }
DispatchQueue.global(qos: .userInitiated).async {
do {
let imageData: Data = try Data(contentsOf: imageURL)
DispatchQueue.main.async {
let image = UIImage(data: imageData)
print(image)
}
} catch {
print("Unable to load data: (error)")
}
}
}
首先,这些东西你真的应该用URLSessionDownloadTask
。
无论如何,图像 link 似乎可以正常工作,因此获取和显示它应该没有任何问题。
以下是您可以检查的内容 -
catch
里面的print
是否被执行?
- 收到数据后
print(image)
会打印什么?
- 您的
UIImageView
实例是否在屏幕上可见并且在 运行 时具有非零 width
和 height
值?
您必须在 运行 时使用 View Hierarchy Debugger
确保第 3 点。
图像本身的问题不在 link 或您的代码中,我已经尝试过相同的图像并且在很多情况下它根本没有出现,但同时出现了另一张图像,如果可以,请尝试更改它,它会起作用,我什至下载了它并尝试将其手动放入资产文件中,但效果不佳,请查看下面的图片:
1- 在资产中本地添加图像
2- 图片未出现在 运行
我与后端开发人员核实了这个问题,它与 api 服务器上的 WAF header 有关。
WAF 阻止请求 header。
为什么这张图片 link 没有显示在 ios 的 UIimageView 中?
var url = URL(string: "https://bill.ps/uploads/32065621a012e53f749c15b0a8468d71swift_file5486.png")
代码
func fetchImage(_ photoURL: URL?) {
guard let imageURL = photoURL else { return }
DispatchQueue.global(qos: .userInitiated).async {
do {
let imageData: Data = try Data(contentsOf: imageURL)
DispatchQueue.main.async {
let image = UIImage(data: imageData)
print(image)
}
} catch {
print("Unable to load data: (error)")
}
}
}
首先,这些东西你真的应该用URLSessionDownloadTask
。
无论如何,图像 link 似乎可以正常工作,因此获取和显示它应该没有任何问题。
以下是您可以检查的内容 -
catch
里面的print
是否被执行?- 收到数据后
print(image)
会打印什么? - 您的
UIImageView
实例是否在屏幕上可见并且在 运行 时具有非零width
和height
值?
您必须在 运行 时使用 View Hierarchy Debugger
确保第 3 点。
图像本身的问题不在 link 或您的代码中,我已经尝试过相同的图像并且在很多情况下它根本没有出现,但同时出现了另一张图像,如果可以,请尝试更改它,它会起作用,我什至下载了它并尝试将其手动放入资产文件中,但效果不佳,请查看下面的图片:
1- 在资产中本地添加图像
2- 图片未出现在 运行
我与后端开发人员核实了这个问题,它与 api 服务器上的 WAF header 有关。
WAF 阻止请求 header。