【发布时间】:2015-01-18 15:15:50
【问题描述】:
我正在尝试了解 NSPointerArray 类,并有一个关于表格视图单元格的非常具体的问题。
如果我将指针存储在 NSPointerArray 中被按下的单元格,我是否能够将其追溯到被按下的原始单元格,即使该单元格已被重用?
我希望你明白我的意思,但基本上我正在尝试在按下单元格时使用倒数计时器实现类似 snapchat 的功能。
【问题讨论】:
-
您将能够找到最初按下的单元格,但这是一个可重复使用的单元格,将不再处于按下时的状态。它现在可能会保存不同的信息。更好的办法是存储按下单元格的 IndexPath,以便您可以返回数据模型并找到该按下单元格的原始数据。一个简单的数组将保存这些信息。
-
@RoboticCat 因此,如果我存储指针,我会指向与原始单元格在 tableView 中相同位置的单元格吗?但是使用 indexPath,无论单元格如何被重复使用或移动,它都会被“跟踪”?
-
指针将指向您按下的可重用单元格,但该单元格现在包含的信息与您存储指针时不同。跟踪 indexPath 会让您知道您实际按下了哪些单元格,但 indexPath 不包含指向特定单元格的指针。相反,它只包含有人按下部分/行中的单元格的记录(例如,
indexPath对象包含section和row的信息)。从这些信息中,您可以访问模型中的数据并执行您需要的任何操作。 -
@RoboticCat 好的,谢谢,很有帮助 :) 请回答,以便我接受
标签: ios uitableview swift nspointerarray