Uitableview 将以前的动态单元格作为新单元格添加到表中时保存复选标记

Uitableview 将以前的动态单元格作为新单元格添加到表中时保存复选标记,uitableview,Uitableview,我有一个动态单元格的UITableView。这些单元格由Gkrids填充。用户必须选择要连接到的对等点(在这种情况下需要多个对等点)。选择每个对等点后,我将其添加到数组中,然后在单元格上打勾。只要在用户开始选择之前,表中已经显示了所有对等点,一切都正常 但是,如果加载并选择了一个对等点,然后加载了另一个对等点,则第一个对等点的复选标记将被清除。我怎样才能保存这个 以下是UITableView代码(非常简单): 我正在使用didSelectRowAtIndexPath进行选择/选中标记过程。以下是

我有一个动态单元格的UITableView。这些单元格由Gkrids填充。用户必须选择要连接到的对等点(在这种情况下需要多个对等点)。选择每个对等点后,我将其添加到数组中,然后在单元格上打勾。只要在用户开始选择之前,表中已经显示了所有对等点,一切都正常

但是,如果加载并选择了一个对等点,然后加载了另一个对等点,则第一个对等点的复选标记将被清除。我怎样才能保存这个

以下是UITableView代码(非常简单):

我正在使用didSelectRowAtIndexPath进行选择/选中标记过程。以下是代码:

     if (indexPath.section == 1){
    UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
    if (cell.accessoryType == UITableViewCellAccessoryCheckmark){
        cell.accessoryType = UITableViewCellAccessoryNone;
        NSString *peerID = [_PeerServer peerIDForConnectedClientAtIndex:indexPath.row];
        [_selectedRemotes removeObject:peerID];
    }else
        if ([self connectedRemoteCount] < _numberOfJudges){
            cell.accessoryType = UITableViewCellAccessoryCheckmark;
            NSString *peerID = [_PeerServer peerIDForConnectedClientAtIndex:indexPath.row];
            [_selectedRemotes addObject:peerID];
        }
}
if(indexPath.section==1){
UITableViewCell*单元格=[tableView cellForRowAtIndexPath:indexPath];
if(cell.accessoryType==UITableViewCellAccessoryCheckmark){
cell.accessoryType=UITableViewCellAccessoryNone;
NSString*peerID=[[u PeerServer PeeridForConnectedClientIndex:indexPath.row];
[_selectedremotesremoveObject:peerID];
}否则
如果([自连接删除计数]<\u法官人数){
cell.accessoryType=UITableViewCellAccessoryCheckmark;
NSString*peerID=[[u PeerServer PeeridForConnectedClientIndex:indexPath.row];
[_selectedremotesaddobject:peerID];
}
}
所有东西都是在iOS6中构建的,但都是在ios7上运行的


谢谢

我找到了一个简单的解决方案……只需检查存储已选定peerID的数组,并相应地应用复选标记。就在我面前

if ([_selectedRemotes containsObject:peerID]){
             cell.accessoryType = UITableViewCellAccessoryCheckmark;
         }
if ([_selectedRemotes containsObject:peerID]){
             cell.accessoryType = UITableViewCellAccessoryCheckmark;
         }