复选标记在tableview中不起作用

时间:2013-12-22 04:54:03

标签: ios uitableview

在我的iOS应用程序中,我有一个tableView,当你点击单元格时,会出现一个复选标记。再次单击单元格时,复选标记不会消失。我一遍又一遍地检查了我的代码。这两种方法与UITableViewAccessoryCheckmark

有关
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

PFUser *user = [self.allUsers objectAtIndex:indexPath.row];
cell.textLabel.text = user.username;

if ([self isFriend:user]) {
    cell.accessoryType = UITableViewCellAccessoryNone;
}
else {
    cell.accessoryType = UITableViewCellAccessoryNone;
}

return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.tableView deselectRowAtIndexPath:indexPath animated:NO];

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

PFRelation *friendsRelation = [self.currentUser relationforKey:@"friendsRelation"];
PFUser *user = [self.allUsers objectAtIndex:indexPath.row];

if ([self isFriend:user]) {
    cell.accessoryType = UITableViewCellAccessoryNone;

    for(PFUser *friend in self.friends) {
        if ([friend.objectId isEqualToString:user.objectId]) {
            [self.friends removeObject:friend];
            break;
        }
    }

    [friendsRelation removeObject:user];
}
else {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
    [self.friends addObject:user];
    [friendsRelation addObject:user];
}

[self.currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if (error) {
        NSLog(@"Error: %@ %@", error, [error userInfo]);
    }
}];
}

有人可以发布正确的代码吗?谢谢!

1 个答案:

答案 0 :(得分:0)

尝试将附件视图property on UITableViewCell设置为nil。

cell.accessoryView = nil;