Objective c UITableView在搜索时从单元格中删除复选标记

Objective c UITableView在搜索时从单元格中删除复选标记,objective-c,Objective C,我正在使用UITableView来显示一些项目,并为此UITableView实现了UISearchBar 如果用户按下单元格,则会出现复选标记(单元格的附件类型已更改),再次按下时,复选标记附件将消失 我的问题是,当用户使用搜索栏进行搜索时,所有选中的单元格都不再被选中,不再被选中 我一直在试图解决这个问题,并搜索了一段时间,但没有结果 有什么帮助吗 谢谢。这是因为在搜索栏中输入内容后,放置复选标记的表视图与看到的表视图不一样。要在搜索表视图单元格上具有相同的复选标记,需要显式添加复选标记 我看

我正在使用
UITableView
来显示一些项目,并为此
UITableView
实现了
UISearchBar

如果用户按下单元格,则会出现复选标记(单元格的附件类型已更改),再次按下时,复选标记附件将消失

我的问题是,当用户使用搜索栏进行搜索时,所有选中的单元格都不再被选中,不再被选中

我一直在试图解决这个问题,并搜索了一段时间,但没有结果

有什么帮助吗


谢谢。

这是因为在搜索栏中输入内容后,放置复选标记的表视图与看到的表视图不一样。要在搜索表视图单元格上具有相同的复选标记,需要显式添加复选标记

我看不到您添加和删除复选标记的方式。所以,理论上,你需要的是一种知道哪些细胞有复选标记的方法。因此,假设您有一个项目数组和一个并行数组,其中包含1或0,当1表示选中,0表示无选中时,表示项目是否有复选标记

我们称之为并行数组,checkMarkSignalArray。现在,在
cellforrowatinexpath
方法中,您可以执行以下操作-

if(self.resultSearchController.active){
    cell.textLabel.text = [self.filteredItemsArray objectAtIndex:indexPath.row];
    if([self.checkMarkSignalArray objectAtIndex:indexPath.row]){
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    }
}

发布一些代码可能有助于您获得快速响应?我们不知道您的复选框实现不是复选框。。正如我在文中所说,这是ios的本机复选标记。。。附件类型@codecrackery您应该添加cellForRowAtIndexPath方法以及添加和删除复选标记所基于的逻辑。