我通过不同标题标题的复选标记在UITableView中实现过滤器。
根据选定的单元格,查询在本地数据库上运行,我得到一个结果。我将过滤器结果保存在一个数组中并传递 这个数组通过push segue到另一个uitableviewview并显示结果。
我正在使用模态segue进入过滤器屏幕。
但问题是,当我回到过滤器屏幕时,我选中的选中过滤器会被选中标记的单元格消失。
以下是我选择行的代码:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
long sec = [indexPath section];
if(sec==0){
if(cell.accessoryType == UITableViewCellAccessoryNone) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[sportsSelectedRows addObject:indexPath];
}
else {
cell.accessoryType = UITableViewCellAccessoryNone;
[sportsSelectedRows removeObject:indexPath];
}
}
else if(sec==1){
if(cell.accessoryType == UITableViewCellAccessoryNone) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[areaSelectedRows addObject:indexPath];
}
else {
cell.accessoryType = UITableViewCellAccessoryNone;
[areaSelectedRows removeObject:indexPath];}
}
else if(sec==2){
cell.tag = indexPath.section;
for (UITableViewCell *cell in [tableView visibleCells]) {
if (cell.accessoryType != UITableViewCellAccessoryNone && cell.tag == indexPath.section) {
cell.accessoryType = UITableViewCellAccessoryNone;
}
}
if(cell.accessoryType == UITableViewCellAccessoryNone) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[daySelectedRows removeAllObjects];
[daySelectedRows addObject:indexPath];
}
else {
cell.accessoryType = UITableViewCellAccessoryNone;
[daySelectedRows removeObject:indexPath];}
}
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
你能帮忙解决这个问题。
答案 0 :(得分:0)
内部didSelectRowAtIndexPath:
除了记录现在应该选择或未选择项目/路径这一事实外,不做任何事情。将附件处理移至cellForRowAtIndexPath:
。