ストーリーボードに 1 つの VC のみを描画して任意の深さまで再帰するには、ストーリーボードを使用してトップ レベル (ルートにテーブル ビュー コントローラーを持つナビゲーション コントローラー) を描画します。テーブル vc は UITableView サブクラスである必要があり、ストーリーボードにストーリーボード識別子が必要です (「MyCustomTableVC」など)。
MyCustomTableVC に、モデル内のどのノードを表示する必要があるかを示すパブリック プロパティ (ModelItem *node など) を指定します。
ストーリーボード セグエの代わりに、テーブル vc が取得didSelectRowAtIndexPath
されると、それ自体の別のインスタンスを作成します...
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
bundle: nil];
// Imagine it's called MyCustomTableVC
MyCustomTableVC *newVC = (MyCustomTableVC*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"MyCustomTableVC"];
newVC モデル ノードを選択したアイテム (モデル内の indexPath.row のアイテム) に設定し、そこにプッシュします...
// making up a lot of stuff about your model here, but hopefully you get the idea...
newVC.node = [self.model objectAtIndex:indexPath.row];
[self.navigationController pushViewController:newVC animated:YES];
このアプローチには、アニメーション化されたプッシュとポップ、戻るボタンなど、すべてのナビゲーション コントローラーの動作を取得できるという利点があります。