Obj-C,UITableViewCellAccessoryDe​​tailDisclosureButton在数据刷新后添加到错误的行?

时间:2011-11-13 16:54:20

标签: iphone objective-c xcode uitableview

我一直在修改我的应用中的屏幕,并在点按按钮时添加了一个公开按钮和另一个屏幕,以允许编辑行中的文本。

但是,我希望其中一行永远不会有公开按钮。

问题是表格是按字母顺序排序的,当文本被更改时(从编辑屏幕中的更新),行的位置可能会发生变化,在某些情况下,我会在行上找到一个披露按钮想要它。

我有

[self rebuildItems];
[table reloadData];

在viewWillAppear

if (![cell.textLabel.text isEqualToString:@"Uncategorized"]) {
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
}

in cellForRowAtIndexPath

我哪里错了?

1 个答案:

答案 0 :(得分:1)

在cellForRowAtIndexPath中,您需要每次都重置cell.accessoryType。原因是普通代码会回收单元格,并且您可以从不同的单元格中获取具有accessoryType的回收单元格,并且它不会被触发为未分类。