3

假设我有一个由应用程序创建的库或服务,并且我的 UIViewControllers 是从情节提要中提供的。我想在创建它们时使用依赖注入将这些对象传递给 ViewController。

  1. 定义包含常用实用功能的服务或类的最佳位置在哪里?我可以使用单例,但我正在探索其他选项,例如在将显示的第一个 UIViewController 中创建它。对象很可能是一些在不同 UIViewController 之间使用的逻辑,比如访问数据库,或者访问不同控制器之间共享的模型,或者业务/游戏逻辑。

  2. 如何将该对象注入到将使用情节提要显示的第一个 UIViewController 中?

  3. 执行 segue 时,是否有某种方法可以调用下一个 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 回答