私は既存のiOSアプリ(誰かが興味があればApp StoreでMazinと呼ばれています)で作業しています。アプリケーションデリゲートまたは情報/方法を共有するためのシングルトン。特に、私は、特定のビューとコントローラ間で共有するために、次のしている:NSManagedObjectConttextとcurrentMazeType、ゲームモードなどのいくつかの場所で使用されるデータ Objective-C ApplicationDelegateまたはsingletonを使用してデータを渡す代わりに
- CoreDataオブジェクトを、そして沿ってsoundIsMutedアプリ全体で一般的に使用される情報を表示するために使用されるゲームに特定のいくつかの広く使用するユーティリティメソッドを持つ
- ビューおよび方法(例えば、ActivityIndicatorおよび方法は、特定のビューの上に表示/非表示にする)
一般に、いくつかのビューとViewControllerはこの情報のさまざまなサブセットにアクセスする必要があり、これらのオブジェクト全体で情報とメソッドを「グローバルに」共有するためのメカニズムが必要です。 (例えば、基本的な動作インジケータを表示するたびに、私は共通の "startActivityIndicator"メソッドを呼び出します)必要なものもいくつかあります(たとえば、gameModeを変更するとグローバルに変更されます)。共通モード情報にアクセスする必要があります)。
どのようなパターンがこの要件に最も適していますか?私は自分のソリューションを念頭に置いています。私はあなたの配慮/コメントのためにそれを下に掲載します。
ありがとうございます!
質問を投稿してから8時間が経過するまで、私自身の回答を投稿するには十分な評判はないが、朝に投稿する。一般的には、共通データ/メソッドを保持するユーティリティクラスを作成し、アプリケーションデリゲートが各ユーティリティクラスの1つのインスタンスのみを作成し、デリゲートが適切なメンバオブジェクト(依存関係など)に渡すようにしますそれらを子オブジェクトへの依存として、など)。私自身の質問に答えることができるときの詳細。 – FTLPhysicsGuy