I have a UITableView that displays checkmarks when a row is selected. The problem is that When i select a row in didSelectRowAtIndexPath and add a checkmark on the selected row it adds an additional checkmark. Here's my code 
Any help would be very much appreciated.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    // Configure the cell...
    cell.textLabel.text=[[Model.category objectAtIndex:indexPath.row] categoryName];
    cell.imageView.image=[[Model.category objectAtIndex:indexPath.row]categoryImage];
    //cell.detailTextLabel.text =@"Breve Descripción de la categoria";
    return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    if ([self.tableView cellForRowAtIndexPath:indexPath].accessoryType == UITableViewCellAccessoryCheckmark) {
 [self.tableView cellForRowAtIndexPath:indexPath].accessoryType =UITableViewCellAccessoryNone;
 [self.cellSelected removeObject:indexPath];
    }else {
     [tableView cellForRowAtIndexPath:indexPath].accessoryType=UITableViewCellAccessoryCheckmark;
        [self.cellSelected addObject:indexPath];
    }
   [self checkMark];
   [tableView reloadData];   
}
- (void)checkMark{
    for (NSIndexPath * indexPath in self.cellSelected) {
       [self.tableView cellForRowAtIndexPath:indexPath].accessoryType=UITableViewCellAccessoryCheckmark;
    }
}
 
     
     
     
    