3

アプリケーションによって作成されたライブラリまたはサービスがあり、UIViewControllers がストーリーボードから提供されているとします。依存性注入を使用して、これらのオブジェクトを作成時に ViewControllers に渡したいと思います。

  1. 一般的に使用されるユーティリティ関数を保持するサービスまたはクラスを定義するのに最適な場所はどこですか? シングルトンを使用することもできますが、表示される最初の UIViewController で作成するなど、他のオプションを検討しています。オブジェクトは、データベースへのアクセス、異なるコントローラー間で共有されるモデルへのアクセス、またはビジネス/ゲーム ロジックなど、異なる UIViewControllers 間で使用される何らかのロジックである可能性があります。

  2. ストーリーボードを使用して表示される最初の UIViewController にそのオブジェクトを挿入するにはどうすればよいですか?

  3. セグエを実行するとき、次の UIViewController の初期化子を呼び出して依存関係を渡す方法はありますか? 私の知る限り、コードが prepareForSeqgue に到達するまでに、次に表示される UIViewController はすでに作成されています。

基本的に、私はこのようなことをしようとしています:

-(void) hypotheticalApplicationStart
{
   self.gameLogic = [[GameLogic alloc] init];
} 

そして、最初の UIViewController が作成され、表示されるようにプッシュされると、次のようになります。

-(void) hypotheticalDisplayFirstViewController
{
   UIViewController* controller = [[ MyView alloc] int];
   [controller setGameLogic:self.gameLogic)];

   // display controller
}

* コードのタイプミスや構文エラーで申し訳ありません。Objective C と IOS5 プログラミングを学習し始めたばかりです。

4

1 に答える 1

2

GitHub で任意のCocoa 依存性注入フレームワークを選択できます。

于 2012-08-30T09:54:05.060 に答える