Le FooViewController que vous avez créé ici ne sert à rien, si je vois les choses correctement. Dans MainWindow.xib, vous avez un contrôleur de navigation et votre propre RootViewController. Jusqu'ici tout va bien. Vous définissez la vue de cela dans RootViewController.xib. Correcte aussi. Mais le contrôleur de vue dans cette dernière xib ne fera rien, jusqu'à ce que vous faites quelque chose comme
[self.navigationController pushViewController:detailViewController animated:YES];
(qui est dans votre didSelectRowAtIndexPath)
L'commenté part à didSelectRowAtIndexPath invoque essentiellement une nouvelle viewcontroller lorsqu'un utilisateur sélectionne une rangée, et le fait lors du chargement du fichier xib associé, qui est chargé dans cette ligne:
DetailViewController *detailViewController = [[DetailViewController alloc]
initWithNibName:@"Nib name" bundle:nil];
vous pouvez également créer le viewcontroller dans un fichier nib, comme vous avez maintenant, mais vous aurez alors besoin de définir un
IBOutlet FooViewController *fooVC;
et un lien qui au sein de IB, puis poussez ce fooVC sur la pile de vue lorsque l'utilisateur sélectionne quelque chose - dans ce cas, vous passez la ligne alloc/init ci-dessus.