我有一个包含很多依赖项的大应用程序。对于这种情况,我实现了一个类RootTableViewController
来处理每次需要表视图控制器时必须完成的所有事情。
现在我发现了一个无限循环,我不知道如何解决它。我得到以下代码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;
}
}
这在 iOS 5 和 iOS 6 上完美运行,但在 iOS4 上它会导致无限循环,因为[tableView numberOfRowsInSection]
正在调用[tableView viewForHeaderInSection]
. 如何使用 table view api 解决这个问题?使用内部数据数组对我来说不是解决方案,[ count]
因为我有很多表视图控制器RootTableViewController
使用不同的数据源扩展它。