タブバー コントローラーにナビゲーション コントローラーを持つアプリがあります。Navigation Controller のルートは、Table View Controller です。テーブル ビューには、イメージ ビューへの続きがあります。イメージ ビュー コントローラーからタブのバッジ値を更新したいと考えています。タブバー コントローラーから、これは正常に動作します。
UIViewController *viewController = [self.tabBarController.viewControllers objectAtIndex:1];
viewController.tabBarItem.badgeValue = @"x";
しかし、同じコードをイメージビュー コントローラーに入れると、機能しません。実行後に「viewController」の値を確認すると、値は nil です。self.tabBarController についても同様です。何らかの理由で、イメージ ビュー コントローラーがそのタブバー コントローラーを認識できません。