У меня есть большое приложение, содержащее множество зависимостей. В этом случае я реализовал класс с именем RootTableViewController
, чтобы обрабатывать все материалы, которые нужно делать каждый раз, когда требуется контроллер табличного представления.tableView numberOfRowsInSection вызывает tableView viewForHeaderInSection на iOS4
Теперь я обнаружил бесконечный цикл, и я не знаю, как его исправить. Я получил следующий код в RootTableViewController
:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section];
int numbersOfRowInSection = [self.tableView numberOfRowsInSection:section];
if (numbersOfRowInSection > 0)
{
// ...
}
else
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 28.0f)];
return view;
}
}
Это отлично работает на прошивке 5 и IOS 6, а на iOS4 она вызывает бесконечный цикл, потому что [tableView numberOfRowsInSection]
звонит [tableView viewForHeaderInSection]
. Как я могу исправить это, используя api таблицы? У меня нет решения для работы с [ count]
внутренних массивов данных, потому что у меня появилось множество контроллеров табличных представлений, расширяющих этот RootTableViewController
с различными источниками данных.
Это будет работать. В большинстве случаев self.talbeView.dataSource и self.tableView.delegate будут указывать на себя в любом случае :) –