具有按钮记忆问题的自定义单元

时间:2011-09-22 02:51:37

标签: iphone objective-c uitableview

我有一个自定义单元格,其中包含表格视图中的按钮。该按钮用作切换,基本上用作“复选框”,供用户检查列表中的某些项目。我遇到的问题是这些表格单元格中的按钮似乎是由于dequeuereusablecellwithidentifier而共享内存位置。按下按钮时,它也会按下列表中的每个第4或第5个按钮。

我将其更改为将方法中的单元格创建为数组,然后填充tableview。这适用于我想要实现的目标,但是在处理大行计数时会出现问题。 tableview本身运行得很快,但是当超过100行时,初始加载可能是3-4秒。创建单元格然后将其填充到tableview的迭代非常麻烦。

您还可以使用自定义单元格和按钮填充表格视图还有哪些其他方法,同时仍然可以为其中的按钮保留唯一的内存?

任何帮助将不胜感激!

谢谢:)

1 个答案:

答案 0 :(得分:1)

你肯定不想改变细胞创作的方式 - 出于你看见的原因,dequeuereusablecellwithidentifier是一件非常好的事情。

解决方案是你应该将按钮/复选框的结果存储在一个单独的数据结构中,就像一个充满NSNumber的NSArray。当您的表格滚动并重复使用单元格时,您可以将复选框的状态重置为基于NSArray的状态。

祝你好运!