I solved the problem. I have 3 tableviews. Their delegate and datasource are connected with my ViewController. Than i created a property for the three tables. Inside my cellForRowAtIndexPath method I detect which tableviewcell will be shown inside a specific tableview
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
MyObject *anObject;
if(tableView == tableview1){
anObject = [initializedObjects objectAtIndex:indexPath.section * 3];
}else if(tableView == tableview2){
anObject = [initializedObjects objectAtIndex:indexPath.section * 3 + 1];
}else if(tableView == tableview3){
anObject = [initializedObjects objectAtIndex:indexPath.section * 3 + 2];
}
I also disabled the scrolling for all tables, so it seems to be a grid. The same detection has to be done inside "didSelectRowAtIndexPath", otherwise you will just select the first three elements inside the object array. (in this case "initializedObjects").