У меня есть 4 раздела в моем представлении таблицы, и когда строка нажата, я хочу добавить галочку в эту строку. С приведенным ниже кодом, если я выбираю строку, некоторые другие строки также проверяются, что нежелательно. Я предполагаю, что это имеет какое-то отношение к нескольким разделам, но я не знаю, как это проверить или исправить. Мой _allTagsList - это NSMutableArray с 4 словарями.didSelectRowAtIndexPath с несколькими разделами
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *dictionary = [_allTagsList objectAtIndex:indexPath.section];
NSArray *array = [dictionary objectForKey:@"Tags"];
NSString *selectedTag = [array objectAtIndex:indexPath.row];
if([tableView cellForRowAtIndexPath:indexPath].accessoryType == UITableViewCellAccessoryCheckmark)
{
[tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryNone;
}
else
{
[tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;
}
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
Я не уверен, как это будет сделано? –
@Niels Sønderbæk Создайте свойство для изменяемого массива и создайте его в представлении. Всякий раз, когда кто-то выбирает ячейку, проверяет, уже ли путь указателя уже находится в массиве, и если он удаляет его и устанавливает ячейку непроверенной. В противном случае добавьте его и установите ячейку. Затем в ячейке для строки в указательном пути проверьте, находится ли указательный путь в массиве и задан ли ячейка, если в противном случае она не была проверена. –
спасибо, сейчас он работает :) –