我如何知道UITableViewCell当前是否存在?

ill*_*ors 4 ios

鉴于indexPathUITableViewCell,我想知道该单元格当前是否存在.

我知道如何检查它是否在屏幕上(使用tableView.indexPathsForVisibleRows).但是,我也想知道它是否在屏幕外但已经创建(假设用户已滚动但尚未完全进入屏幕).

我该怎么做呢?

Tim*_*ose 10

你可以做

[self.tableView cellForRowAtIndexPath:indexPath];
Run Code Online (Sandbox Code Playgroud)

(不要与数据源方法混淆[self tableView:cellForRowAtIndexPath:])如果存在该索引路径的单元格,则将返回该单元格.否则,你会得到nil.

你肯定不希望你的后台更新过程直接引用单元格,因为正如你所说,它可能已经滚动屏幕并在获取完成时被回收.相反,保持对索引路径的引用或可用于查找索引路径的某些数据,然后使用该索引路径和上述方法来检索单元格.