Таким образом, удаление ячейки со списком таблиц довольно прямолинейно. Вы удаляете объект из массива и перезагружаете данные табличных представлений. Теперь ... У меня есть табличное представление, которое заполняется из NSMutableDictionary, а не массивом (нам нужно, потому что мы разбираем данные и сохраняем их). Кто-нибудь знает, как удалить ячейку с помощью этого метода? Я пробовал просто позвонить [tableView reloadData];
, который неожиданно сработал, но, очевидно, создал бесконечный цикл. Мне не нравятся бесконечные циклы. У кого-нибудь есть предложения? Я не мог найти никакой важной информации в своих исследованиях.Удаление ячейки TableView, заполненной словарем
Это некоторый соответствующий код в cellForRowAtIndexPath делегата:
if (![frString isEqual:@"COOL STUFF"] && [subString isEqualToString:@"COOL"]) {
NSLog(@"A COOL is showing where it shouldn't, and it's %@", subString);
//remove all cells starting with COOL
[myDictionary removeObjectForKey:[self.dictName objectAtIndex:row]];
[tableView reloadData];
}
Кроме того, я бы предпочел скрыть ячейку вместо постоянно извлекать информацию из словаря. Это возможно?
Вы должны изменить источник данных * до того, как 'reloadData' будет выполнен, чтобы обновить представление. Как только вы попадете в «cellForRow ...», уже слишком поздно. –