過去数年間、スタックオーバーフローで少なくとも月に一度はこの質問が殺されていることを認識していますが、まだ解決策を見つけることができません。
UITabBarController に由来する 2 つの ViewController があります。どちらもストーリーボードを通じて初期化されます。ある VC のメソッドを別の VC から呼び出そうとしています。もちろんインスタンスメソッドです。
以下の可能性について聞いたことがあります。
1: NS通知
2:プロトコルを定義し、ある VC を別の VC のデリゲートとして宣言します。
3:実際に RootViewController を介して何らかの方法でメソッドを呼び出しています。
私は NSNotifications を介して動作するコードを持っていますが、その概念が嫌いで、それを行う正しい方法を理解したいと思っています。私は可能性 (3) に最も興味があり、次に (2) は最後の手段です。
(2) を数時間動作させようとしましたが、他の VC からデリゲート VC を初期化せずに困惑しました。(ストーリーボードのためオプションではありません)。
(2)または(3)のいずれかが可能ですか?どうして?
どちらも不可能な場合、推奨される iOS アーキテクチャについての私の誤解は何ですか?