在我的应用程序我有一个自定义tableViewCell,如何检测自定义tableview单元何时离开屏幕?
我也有一个视图控制器与tableView,其中我显示自定义tableViewCells。
有没有一种方法(ViewController方法或TableViewCell方法),当tableViewCell离开屏幕时触发,我需要为它的单元格做一些Core Data更新。
(我需要知道的方法,因为我需要在我tableViewCell更新定时器()的核心数据值,当它出现在屏幕上。)
在我的应用程序我有一个自定义tableViewCell,如何检测自定义tableview单元何时离开屏幕?
我也有一个视图控制器与tableView,其中我显示自定义tableViewCells。
有没有一种方法(ViewController方法或TableViewCell方法),当tableViewCell离开屏幕时触发,我需要为它的单元格做一些Core Data更新。
(我需要知道的方法,因为我需要在我tableViewCell更新定时器()的核心数据值,当它出现在屏幕上。)
用于检测细胞端显示的tableview委托:: tableView:didEndDisplayingCell:forRowAtIndexPath:
func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath)
上述方法灭火时从细胞或的tableview细胞结束其diplaying除去。
有一个tableView(_:didEndDisplaying:forRowAt:)
委托方法: https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614870-tableview
'使用此方法来检测单元格何时从表视图中移除,而不是监视视图本身以查看它何时出现或消失。“看起来这可能会做一个不同的事情。 – Fogmeister
呃...在我的测试中,它看起来不错,但... –
您可以使用的UITableView
func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) {
}
这里tableView:didEndDisplayingCell:forRowAtIndexPath:
deleaget方法请注意,当您重装tableview中或小区,正在删除将触发细胞这种方法。所以在这个方法内部实现额外的逻辑来处理这种情况。以下
为什么不更新只在可见的单元格? –
核心数据与表视图的视觉状态紧密结合似乎确实是一个有缺陷的体系结构。 – vikingosegundo