我收到了一個包含很多依賴項的大應用程序。對於這種情況,我實現了一個名爲RootTableViewController
的類來處理所有必須在每次需要表視圖控制器時執行的操作。tableView numberOfRowsInSection在iOS4上調用tableView viewForHeaderInSection
現在我發現了一個無限循環,我不知道如何解決它。我在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]
。我怎樣才能解決這個使用表視圖API?它沒有解決方案,我與[ count]
的內部數據陣列工作,因爲我有很多表視圖控制器擴展此RootTableViewController
與不同的數據源。
這將工作。在大多數情況下,self.talbeView.dataSource和self.tableView.delegate將指向自己:) – 2013-03-19 19:08:30