1 つのデータソースとデリゲートを保持します。
これは、すべてのデリゲート/データソース メソッドがより複雑になることを意味しますが、viewController とビューの間の 1 対 1 の関係を維持できることを意味します。
各テーブル ビューへの参照を保持する
//vc.h
@property (nonatomic, weak) IBOutlet UITableView* firstTableView;
@property (nonatomic, weak) IBOutlet UITableView* secondTableView;
データソース/デリゲート メソッドでは、使用中のテーブル ビューに応じてメソッドの動作が異なる必要があるという事実を考慮する必要があります。例えば
//vc.m
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
if (tableView == self.firstTableView) {
...
} else { // tableView == self.secondTableView
...
}
}
return cell;
}