我的视图控制器需要向一些模型对象发送消息。我如何在视图控制器内获取这些模型对象的引用?
这些模型对象是“单例”(系统中应该只有一个副本),并且由多个视图控制器使用。因此,我不能在每个视图控制器的init方法中实例化它们。
我不能使用构造函数注入,因为运行时会选择用于创建视图控制器的init方法。
我无法使用“setter注入”,因为在任何时候(我所知道的)都没有同时拥有对新构建的视图控制器和“单例”模型对象的引用。
我不希望将模型对象变成真正的单例,并从视图控制器调用它们的静态方法来检索单例实例,因为这会影响可测试性(将模型对象作为AppDelegate的属性与此基本相同)。
我正在使用带Storyboards的iOS 6。
prepareForSegue:
这个替代品纯粹是脑损伤。 - zoul