Я определил настраиваемое представление заголовка программно в методе: ViewForHeaderInSection
Внутри настраиваемого представления находится кнопка UIB с целевым действием method:"foodDeleteButtonPressed"
.Я также устанавливаю переменную тега кнопки для номера раздела.
Вот реализация этого метода
-(void)foodDeleteButtonPressed:(id)sender
{
NSInteger index = [sender tag];
NSLog(@"Delete button pressed for section: %d", index);
FoodItem *tmpItem = [Cart.foodItemsArray objectAtIndex:index];
int ct = [tmpItem.sidesArray count];
if(ct > 0)
{
NSLog(@"About to delete %d sides", ct);
[tmpItem.sidesArray removeAllObjects];
}
else
{
NSLog(@"The fooditem to be deleted has no side items");
}
NSLog(@"About to remove object from ffod items array");
[Cart.foodItemsArray removeObjectAtIndex:index];
[self.myOrderTable reloadData];
}
Этот метод выполняется без строки: [self.myOrderTable reloadData];
В тот момент, когда я пытаюсь обновить свое представление после удаления разделов, пытаясь перезагрузить данные.Мое приложение аварийно завершает работу со следующей трассировкой стека:
* Завершение работы приложения из-за необработанного исключения 'NSRangeException', причина: '* - [NSMutableArray objectAtIndex:]: индекс 1 вне границ[0 .. 0] '
*** Стек вызовов при первом броске:
(
CoreFoundation 0x010325a9 __exceptionPreprocess + 185
libobjc.A.dylib 0x01186313 objc_exception_throw + 44
CoreFoundation 0x010280a5 - CoreFoundation 0x010280a5 -__NSArrayM objectAtIndex:] + 261 * +1021 * ресторан 0x00015c77 - [MyOrderViewController Tableview: viewForHeaderInSection:] + 827 * тысяча двадцать-дв * UIKit 0x0038de48 - [UITableView (UITableViewInternal) _delegateWantsHeaderForSection:] + 152
UIKit 0x004d8c01 - [UISectionRowData refreshWithSection: Tableview: tableViewRowData:] + 116
UIKit 0x004d6d88 - [UITableViewRowDatanumberOfRows] + 108
UIKit 0x0038a677 - [UITableViewnoteNumberOfRowsChanged] + 132
UIKit 0x00397708 - загруженный юзер444
UIKit 0x0031c4fd - [UIApplicationsendAction: to: from: forEvent:] + 119
UIKit 0x003ac799 - [UIControlsendAction: to: forEvent:] + 67
UIKit 0x003aec2b - [UIControl для внутреннего использования:]
Данные перезагрузки выдают исключение.Как это исправить?Мы ценим любые предложения.