swift - 自动删除 UITableView 中的行 : Swift3

标签 swift uitableview

我有一个 UITableView,其中包含多行帖子,这些帖子根据它们进入我的数据库的时间进行了时间戳记。我想让每个单元格的帖子(行)在经过一定时间后自动删除。目前这就是我为实现这个目标所做的:

func deletePost(timer: Timer) {
    for post in posts {
        let startTime = Date(timeIntervalSince1970: TimeInterval(post.time))
        let date = Date()
        let endTime = startTime + 25
        let call = Calendar.current


        let componentsCurrent = call.dateComponents([.year, .month, .day, .hour, .minute, .second], from: date)
        var components = DateComponents()

        components.hour = componentsCurrent.hour
        components.minute = componentsCurrent.minute
        components.second = componentsCurrent.second
        components.year = componentsCurrent.year
        components.month = componentsCurrent.month
        components.day = componentsCurrent.day

        let currentTime = call.date(from: components)!
        print(currentTime)
        print(" 2" , endTime)

        if  currentTime.timeIntervalSince1970 == endTime.timeIntervalSince1970 {
            timer.invalidate()
            print("ENDDDDD")
            posts.removeLast()
            tableView.reloadData()
                    }
                }
            }

我看到的问题是当前日期只记录一次日期但不会继续更新。我查看了有关计时器的其他帖子,并且我已经实现了它们,但是它在这种情况下不起作用。我假设一旦我能让这些变量等于其他代码就会很简单。

最佳答案

cellForRowAt 不是任何此类逻辑的地方。它的唯一目的是提供请求的单元格。就这样。

你想要的是设置一个计时器,比如每分钟一次(或其他一些合适的时间跨度)。当计时器关闭时,扫描您的数据源以查找应删除的行。从数据源中删除适当的值,并使用 deleteRows 相应地更新 TableView ,传入与删除的条目相对应的 IndexPath 数组。

关于swift - 自动删除 UITableView 中的行 : Swift3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45667707/

相关文章:

ios - NSURLSession didCompleteWithError : how to determine what task it is?

IOS - 在一处管理所有字体

ios - 如何从 UILabel 的第 n 行获取文本/字符串?

ios - 基于 UITextView 的自动调整单元格大小

ios - 具有左右标签的 UITableViewCell 的最佳方法

iphone - 如何将触摸标签文本传递给手势识别器选择器方法

swift - 这个矩阵相邻单元格计数的解决方案有什么问题? ( swift )

ios - 基于警报选择的 Swift TabbarViewController 操作。 shouldSelect 和 didSelect 没有帮助

uitableview - 在 ios 5 中更改 tableview 行高

ios - 将 UIImageView 放入 RSS feed 应用程序的表格单元格中