gpt4 book ai didi

ios - 将图像从 Firebase 加载到我的 TableView 时出错

转载 作者:行者123 更新时间:2023-11-28 14:52:38 25 4
gpt4 key购买 nike

我想将我的图像从 Firebase 加载到我的 TableView ,但出现错误:

Cannot convert value of type 'String' to expected argument type 'URL'

当我单独打印对象时,它肯定是一个 URL。

我的代码是这样的:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCell(withIdentifier: "FeedItem", for: indexPath) as! FeedItem

//TODO: Guard...

let postImage = postArray [indexPath.row]
let postImageURL = postImage.postImageURL
let data = Data(contentsOf: postImageURL) // Line with Error

cell.postImage.image = UIImage (data: data)
return cell
}

最佳答案

要在您的单元格中显示图像,您需要将 URL 字符串转换为实际的 URL 对象,您可以通过以下方式完成:

let postImage = postArray[indexPath.row]
if let postImageURL = URL(string: postImage.postImageURL)
{
do {
let data = try Data(contentsOf: postImageURL)
cell.postImage.image = UIImage (data: data)
} catch {
print("error with fetching from \(postImageURL.absoluteString) - \(error)")
}
}

正如 rmaddy 暗示的那样,您的性能不会很好(因为取决于远程服务器的距离或互联网的速度),同步“Data(contentsOf: "调用可能需要很长时间才能成功。我提供这个答案只是为了让您能够在自己的测试中看到一些东西,但我不会在生产代码中使用它。

尝试用异步URLSession 任务替换Data 获取,您可以找到更多信息in this very related question .

关于ios - 将图像从 Firebase 加载到我的 TableView 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49696059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com