Я устал от попыток всю ночь решить эту проблему в начале своей проблемы, когда я добавляю новые данные, они сохраняют данные в NSMutableArray и в cellForRowAtIndexPath я показываю данные, потому что у меня есть разделы, так что я сделал как следует
if(indexPath.section == 0)
{
for (NSDictionary *dictt in data) {
if ([[dictt objectForKey:@"Type"] isEqualToString:@"Electricity"]) {
NSLog(@"%@",[dictt objectForKey:@"Account"]);
cell.textLabel.text = [dictt objectForKey:@"Account"];
cell.detailTextLabel.text = [dictt objectForKey:@"Type"];
[mainTableView reloadInputViews];
}
}
}
Когда дело доходит до конечного результата, он показывает этот первый

когда я добавляю другие данные, это показывает

и если они являются данными в другом разделе, скажем, вода, а когда я удаляю, он начинает удалять из раздела Электричество
и вот функция удаления:
- (void) tableView: (UITableView *) tableView
commitEditingStyle: (UITableViewCellEditingStyle) editingStyle
forRowAtIndexPath: (NSIndexPath *) indexPath {
[data removeObjectAtIndex:indexPath.row]; [tableView
deleteRowsAtIndexPaths: [NSArray arrayWithObject: indexPath]
withRowAnimation: UITableViewRowAnimationTop];
[self saveData];
[mainTableView reloadData]; }