メソッドを呼び出すトップ ビュー コントローラーを含む App Delegate 内のナビゲーション コントローラーへの参照はありますか? その場合、UINavigationController には というメンバーがありtopViewController
ます。それをカスタムView Controllerクラスにキャストできます:
CustomViewController *customController = (CustomViewController *)[aNavController topViewController];
[customController myCustomMethod];
前述したように、アプリ デリゲートにナビゲーション コントローラーへの参照がある場合、このメソッドは機能します。
そうでない場合は、別のアプローチとして NSNotificationCenter を使用できます。「topViewController」でカスタム通知名を登録し、App Delegate からその通知を投稿します。各ビュー コントローラーが表示されたときに通知を受け取るように登録し、表示されなくなったときに登録を解除すると、表示されているビュー コントローラーだけが通知を受け取ります。
あなたの場合、おそらく登録してくださいviewDidAppear:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myCustomMethod:) name:@"MyCustomNotification" object:nil];
App Delegate からの通知を投稿します。
[[NSNotificationCenter defaultCenter] postNotificationName:@"MyCustomNotification" object:myAccount];
オブザーバーを削除することを忘れないでくださいviewDidDisappear:
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"MyCustomNotification" object:nil];