Sólo recuerde que una UITableViewController es una subclase de UIViewController sólo con el tableview establecer como vista del controlador.
Así que definitivamente es posible y se usa con bastante frecuencia cuando se quiere tener una vista de tabla, pero también otros elementos de IU personalizados que evitan el uso de UITableViewController.
Normalmente elegiría agregarlo a la vista del controlador de mi vista en su método de inicialización o en el método viewDidLoad. Esto variará dependiendo de si está creando sus vistas desde un NIB o totalmente programáticamente.
En caso de ONE:
- (id)initWithNibName:(NSString*)nibName bundle:(NSBundle*)bundleName
{
if ((self = [super initWitNibName:nibName bundle:bundleName]))
{
self.theTableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewWhateverStyleYouWantHere];
theTableView.dataSource = self, theTableView.delegate = self;
[self.view addSubview:theTableView];
[theTableView release];
}
}
Y entonces se puede establecer el marco de su tableview en su método viewDidLoad.
Personalmente, preferiría hacer todo en el constructor de interfaces, ya que obtendría el mismo resultado con mucho menos código para mantener.
No se puede agregar nada a un controlador de vista como subvista, porque un controlador de vista no es una vista y solo las vistas tienen subvistas. –