使用dequeueReusableCellWithIdentifier时保留单元格之间的单元格属性

时间:2014-10-04 20:27:53

标签: ios cocoa-touch uitableview swift

我的应用程序是基于Feed的应用程序(想想Instagram)。实际上,它与Instagram非常相似 - 不同之处在于,不是图片,而是一个可滑动的分页视图,包含不同的对象(链接到演示): https://www.youtube.com/watch?v=EYTjA3Bcv_A&feature=youtu.be

可滑动功能源自此类:https://github.com/nicklockwood/SwipeView

在我的UITableViewController课程中,我试图通过实施tableView.dequeueReusableCellWithIdentifier来保持记忆效率。这会产生的问题是,当您滚动并且单元格正在出列时,单元格的可重用性质会带来旧数据。

我的问题是我想保留用户在仍然实现tableview.dequeueReusableCellWithIdentifier时刷过的SwipeView中的哪个对象。
SwipeView处理此问题的属性为currentItemIndex。这将管理当前在SwipeView中居中的项目。当然,Feed中的每个SwipeView都应该记住自己的currentItemIndex,但是出列的单元格会从正在重用的单元格中携带旧的currentItemIndex。这可以在设置新(重用)单元格时重置:cell.swipeView.currentItemIndex = 0,然后旧单元格在重用时丢失其currentItemIndex

原始问题的视频:http://youtu.be/CXTHyvF3adI(查看旧currentItemIndexSwipeView小区之间如何转移)

视频问题时重复使用单元格时会重置currentItemIndexhttp://youtu.be/VBw8Rm-s5Qk(请参阅SwipeView单元格如何记住它们被刷到哪个项目)

有没有人有关于如何实现这一目标的想法?
提前感谢所有人!

1 个答案:

答案 0 :(得分:0)

这就是PrepareForReuse方法的用途