У меня есть небольшая проблема, когда мои флажки, которые я применяю к моим строкам в моем UITableView, смешиваются при прокрутке. Я уверен, что это связано с тем, как iphone использует ячейки, и когда у меня прокручивается отметка, на которой есть галочка, она, вероятно, возвращает ее обратно, когда у меня появляется шанс.
Может кто-нибудь дать мне несколько советов о том, как мне этого избежать или, возможно, взглянуть на мои методы и посмотреть, что-нибудь не так?
Я думал, что, возможно, я смогу сохранить каждый выбор строки, который сделал пользователь, а затем проверить, какие строки отображаются, чтобы убедиться, что правильные строки отмечены галочкой, но я не смог найти способ сделать это.
Большое спасибо.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[CustomCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
[cell setAccessoryView:nil];
}
NSMutableArray *temp = [[NSMutableArray alloc]init];
for (int j = 0; j < [listOfRowersAtPractice count]; j++) {
if ([[differentTeams objectAtIndex:indexPath.section] isEqualToString:[[rowersAndInfo objectForKey:[listOfRowersAtPractice objectAtIndex:j]]objectForKey:@"Team"]]) {
[temp addObject:[listOfRowersAtPractice objectAtIndex:j]];
}
}
[cell.cellText setText:[temp objectAtIndex:indexPath.row]];
[temp removeAllObjects];
[temp release];
// Set up the cell...
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType != UITableViewCellAccessoryCheckmark) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}else {
cell.accessoryType = UITableViewCellAccessoryNone;
}
}