gpt4 book ai didi

ios - 刷新后保持表格单元格删除而不触及数据库中的帖子

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

我有一个非常有用的帖子删除功能:

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath){

posts.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .fade)
}

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? { let more = UITableViewRowAction(style: .default, title: "Report") { action, index in self.posts.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .fade) }; more.backgroundColor = UIColor.blue; return [more] }

但是当您点击刷新时,它会重新加载我的用户报告的帖子。我希望刷新操作不显示这些已删除的帖子。但是,我希望每个其他用户仍能看到这些帖子并做出自己的判断,所以我不希望将这些帖子从数据库中删除。

您建议如何处理刷新功能?

作为引用,这是我的 handleRefresh 函数:

@objc func handleRefresh() {
print("Refresh!")
toggleSeeNewPostsButton(hidden: true)

newPostQuery.queryLimited(toFirst: 20).observeSingleEvent(of: .value, with: { snapshot in
var tempPosts = [Post]()

let firstPost = self.posts.first
for child in snapshot.children {
if let childSnapshot = child as? DataSnapshot,
let data = childSnapshot.value as? [String:Any],
let post = Post.parse(childSnapshot.key, data: data),
childSnapshot.key != firstPost?.id {
tempPosts.insert(post, at: 0)
}
}
self.posts.insert(contentsOf: tempPosts, at: 0)
let newIndexPaths = (0..<tempPosts.count).map { i in
return IndexPath(row: i, section: 0)
}
self.refreshControl.endRefreshing()
self.tableView.insertRows(at: newIndexPaths, with: .top)
self.tableView.scrollToRow(at: IndexPath(row: 0, section: 0), at: .top, animated: true)
self.listenForNewPosts()
// return completion(tempPosts)
})
}

最佳答案

如果您通过 Api 或本地数据库获取详细信息,我不确定您将数据存储在何处以及刷新时。但是从您的角度来看,我确信您需要在服务器数据库或本地数据库中维护一个标志值,该标志值将指示该帖子是否要显示在表格 View 中。如果有多个用户不应该看到这篇文章,那么你已经管理了一个 UserId 的数组,他们不应该在帖子级别条目和你在应用程序中获取详细信息时看到这篇文章,您可以过滤详细信息并将其显示在表格 View 中。

关于ios - 刷新后保持表格单元格删除而不触及数据库中的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56597581/

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