Использование UINib класс . Это позволяет создавать экземпляры без родительского элемента, а также повышает производительность за счет кэширования содержимого файла пера.
@interface Class1 : UITableViewController<UITableViewDataSource, UITableViewDelegate> {
UINib *myCustomCellNib;
}
... и аналогичная вещь для Class2. Затем в viewDidLoad
myCustomCellNib = [UINib nibWithNibName:@"myCustomCellNibName" bundle:nil];
затем при создании ячейки:
NSArray* objects = [myCustomCellNib instantiateWithOwner:nil options:nil];
// given that your cell is defined as a first object in your nib
cell = [objects objectAtIndex:0];