私は初めての iPhone アプリを開発しています。ユーザー設定を実装しているときに、これを最適に実装する方法についていくつか質問があります。
基本的な MVC パターンを想定します。Model オブジェクトに格納されたデータを表示する MainView。アプリのロジックを処理する MainViewController。
オプションについては、OptionsView と OptionsViewController があります。RootViewController は、メイン ビューとオプション ビューの交換を処理します。
まず、オプションデータについてはどうでしょうか。それらを格納する NSOjbect 派生クラス (OptionsModel) を作成しますか? それとも単純な NSDictionary で十分でしょうか?
次に、オプション データの所有者は誰ですか? これらはアプリケーション設定ですが、AppDelegate に保存するのは間違っているようです。MainViewController は主にオプションを気にし、OptionsViewController はそれらを編集する必要がありますが、それらの人はお互いのことを知りませんし、おそらく知っているべきでもありません。RootViewController は両方を知っているので、それらの間でオプションを渡すのに適した立場にありますが、これも間違っているようです。
最後に、MainViewController は頻繁にオプションにアクセスする必要があります。毎回オプション モデルを呼び出してオプションを取得する必要がありますか、それとも自分のコピーをキャッシュする必要がありますか? オプション データを取得するための余分なオーバーヘッドのアイデアは好きではありませんが、MainViewController に同期が取れなくなる可能性のあるコピーがあることもあまり魅力的ではありません。