ここに見られるように、コンテナ ビュー内に格納されている tableViewController にデータを渡すのに問題があります。
コンテキストについては、2 つのコンテナ ビューを含むビュー コントローラ自体が、 splitViewController の詳細ビュー。
まず第一に、コンテナビューを適切に使用していますか? この最初のタブの目的は、上部にいくつかのフィルター「設定」を表示することです。これは、プッシュ セグエを介して編集できます (したがって、ナビゲーション コントローラーです)。下部では、フィルター条件に基づいて tableView のデータが更新されます。この機能を実現するために 2 つのコンテナー ビューを使用するのは直感的に思えましたが、経験がほとんどなく、より良い方法があるかどうか、またはコンテナー ビューのユーティリティが見た目よりもニッチなものであるかどうかはわかりません。
元の質問に-この階層が理にかなっていると仮定すると、この特定のtableViewControllerにデータを渡すのに苦労しています。tabViewController には他に 2 つのタブがあり、どちらもコンテナー ビューを使用していないため、次のように appDelegate を使用してこれらのタブにデータを表示するために階層を正常にトラバースすることができました。
// Initial Setup
UISplitViewController *splitViewController = (UISplitViewController *) self.window.rootViewController;
UITabBarController *masterTabBarController = [[splitViewController viewControllers] objectAtIndex:0];
// Tab 1: Filter by Location:
// >>> **PROBLEM CODE SEGMENT** <<<
UIViewController *containerViewController = [[masterTabBarController viewControllers] objectAtIndex:0];
MasterViewController *masterViewController0 = [[containerViewController childViewControllers] objectAtIndex:1];
masterViewController0.slotMachines = machines;
// Tab 2: Filter by ID#:
MasterViewController *masterViewController1 = [[masterTabBarController viewControllers] objectAtIndex:1];
masterViewController1.slotMachines = machines;
// Tab 3: Audited
MasterViewController *masterViewController2 = [[masterTabBarController viewControllers] objectAtIndex:2];
masterViewController2.slotMachines = machines;
デリゲートを介して masterViewController0/1/2 のそれぞれにデータを割り当てるコードのスニペットはスキップしました。前述のように、タブ 2 と 3 が機能します。タブ 1 は実行時にプログラムを中断し、'[containerViewController childViewControllers]' が空の配列を返すために終了します。プログラム実行のこの時点でコンテナビューが初期化されていないのだろうか?しかし、正直なところわかりません。
私のクエリは特にコンテナー ビューとはあまり関係がなく、階層トラバーサルと関係があると思います。そのため、コンテナー ビューに関するドキュメントで解決策を調べても、実際にはあまり役に立ちませんでした。
ヒントをお寄せいただきありがとうございます。