我有一个基于视图的NSTableView,每行必须生成一些需要时间的图像。这些是在后台NSoperationQueue上完成的,并在发出图像请求时启动(通过绑定)。
当一行在屏幕上滚动时,如果NSOperation仍然未决,我希望能够取消它,但我需要检测何时行不再可见。我应该在CustomTableRowView,CustomTableCellView或其他东西上寻找delloc吗?
我想我需要与tableView相反:willDisplayCell:forTableColumn:row:
某种tableView:willHideCell:forTableColumn:row:
Apple的TableView Playground有评论:
//我们必须使用NSBlockOperation跟踪块,如果我们以后想要支持取消已在屏幕外滚动且不再需要的操作。这将留给用户练习。
我可以取消操作,但我不知道如何检测何时滚动行。