Возможно, вам следует использовать разные таблицы для каждого контроллера представления (если вы еще этого не сделали).
Как правило, вы также используете разные источники данных / делегаты для каждого табличного представления (например, вы можете использовать каждый контроллер представления).
Однако, если вы должны использовать тот же класс, что и источник данных / делегат для всех четырех табличных представлений, tableView:cellForRowAtIndexPath:
(и другие методы делегата) предоставят вам табличное представление в качестве первого аргумента, так что вы можете вернуть правильные клетки, как это:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (tableView == myTableViewOne) {
// dequeue or allocate/init and configure/return the cell for the first table view here
} else if (tableView == myTableViewTwo) {
// dequeue or allocate/init and configure/return the cell for the second table view here
} else if (tableView == myTableViewThree) {
// dequeue or allocate/init and configure/return the cell for the third table view here
} else {
// dequeue or allocate/init and configure/return the cell for the fourth table view here
}
}