在长截面的UITableView中进行多次检查

时间:2012-01-16 10:00:27

标签: ios uitableview

我在处理UITableView时遇到了一个疯狂的问题,你有没有任何好的示例项目(github)或教程,展示如何对一个分段{{1}进行多项选择(检查) },我的意思是一个很长的UITableView,用户可以向上和向下滚动它,并选择/取消选择不同部分的单元格。 我跑的问题是关于检查不同部分的单元格,并在表格视图中上下滚动。应用程序崩溃,在更好的情况下,当我向下和向上滚动屏幕(表格视图)时,我会检查随机单元格。所以我决定做一个简单的项目,在将其集成到我的应用程序之前我会尝试所有这些。

导致崩溃的一系列操作是:检查section1中的cell1并检查section2中的cell2,然后取消选中section1中的cell1。 样本是here,请测试它,它太轻了,用断点跟踪崩溃,我发现这个方法导致了问题:

UITableView

我真的需要你的专业知识来改进我的代码。提前完成。

1 个答案:

答案 0 :(得分:0)

即使正确分配,该表也不会因某种原因更换DICT,这样可行。

1)将所有Dicts更改为MutableDicts

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    NSMutableDictionary *dict = [self.tableData objectAtIndex : [self tableIndexFromIndexPath : indexPath]];

    BOOL newState = ![[dict objectForKey:kCellStateKey] boolValue];

    [dict setValue :[NSNumber numberWithBool:newState] forKey : kCellStateKey];

    NSArray *test = [[NSArray alloc]initWithArray : [NSArray arrayWithObject:indexPath] ];

    [tableView reloadRowsAtIndexPaths : test withRowAnimation:UITableViewRowAnimationNone];
}