2013-12-22 4 views
0

В моем приложении 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

Неплохо, можете ли вы разместить код '[self isFriend: user]' ?? – johnMa

+0

Что значит? – user245590

ответ

Смежные вопросы