私はこれについて考えていて、View Controller間で通信するための最も推奨される方法に関する別のstackoverflowの質問を読みました。ただし、その質問/回答は、逆の動作に対する最善のアプローチに対処していないようです。
つまり、 からParentController
にデータを渡すには、 のようModalController
に初期化できます。ModalController
initWithDataToProcess:
しかし、逆のことをしたい場合はどうすればよいでしょうか? 新しいデータについて以前のコントローラーに通知するにはどうすればよいですか?
例: ユーザーが の [新しい人] ボタンをクリックしますParentController
。新規作成を開始し、ModalController
を介してユーザーに個人エディター ビューを表示しpresentModalViewController:
ます。ユーザーは「完了」をクリックして、新しい人を追加します。IdismissModalViewController:
と UI が のビューに戻りますParentController
。
シングルトン オブジェクト (アプリ デリゲートなど) でグローバルフィールド参照を使用するのは良くありません。委任(正式なプロトコル経由) と通知(NSNotificationCenter 経由) はやり過ぎのようです。助言がありますか?