アプリケーションによって作成されたライブラリまたはサービスがあり、UIViewControllers がストーリーボードから提供されているとします。依存性注入を使用して、これらのオブジェクトを作成時に ViewControllers に渡したいと思います。
一般的に使用されるユーティリティ関数を保持するサービスまたはクラスを定義するのに最適な場所はどこですか? シングルトンを使用することもできますが、表示される最初の UIViewController で作成するなど、他のオプションを検討しています。オブジェクトは、データベースへのアクセス、異なるコントローラー間で共有されるモデルへのアクセス、またはビジネス/ゲーム ロジックなど、異なる UIViewControllers 間で使用される何らかのロジックである可能性があります。
ストーリーボードを使用して表示される最初の UIViewController にそのオブジェクトを挿入するにはどうすればよいですか?
セグエを実行するとき、次の 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 プログラミングを学習し始めたばかりです。