gpt4 book ai didi

ios - 每次运行 cellforrow 方法时都必须刷​​新 Firebase 数据吗?

转载 作者:行者123 更新时间:2023-11-28 11:43:16 24 4
gpt4 key购买 nike

我有一个名为 RetrievePosts() 的函数,它观察 Firebase 数据库并获取我的模型的值。我在 viewdidload() 中运行它。

我的 cellForRow 根据检索到的信息更新单元格的信息。非常标准。但是,我在每个自定义单元格上都有一个按钮,它根据喜欢/不喜欢按钮按下来打开/关闭,并且在自定义单元格类中监视此状态更改并更新到 firebase。

当我来回滚动表格 View 时出现问题,按钮状态返回到从初始 RetrievePost() 数据设置的状态。

我该如何解决这个问题?..

最佳答案

当我们不为状态添加“其他条件”时,通常会发生这种情况。例如,如果有 10 个数据对象,其中 5 个是可见的。当我们来回滚动时,单元格将被重用。现在假设您只喜欢一个单元格。当我们来回滚动时,此单元格将被重新用于显示其他数据模型,如果您不提供“其他条件”,则某些单元格的状态可能会显示为喜欢。

你可以从下面的代码中得到它的要点

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCell(withIdentifier: "Identifier") as? CustomCell
let postModel = postModelArray[indexPath.row]
if postModel.isLiked {
cell.likeImageView.image = UIImage(named: "Liked")
} else {
cell.likeImageView.image = UIImage(named: "NotLiked")
}
}

关于ios - 每次运行 cellforrow 方法时都必须刷​​新 Firebase 数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53166681/

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