2
我对视图控件层次结构使用iOS 5故事板。问题在于我有几个共享控制器类来处理我需要注入视图控制器的业务逻辑。这些控制器已初始化并保存在应用程序代理中。iOS故事板和注入属性
例如,我有一个控制器封装了我在一些视图控制器中使用的Dropbox交互。我可以通过参考prepareForSegue:sender:
,但这使得整个视图控制器层次结构取决于控制器。此外,我可以使用单身模式,但我并不是很喜欢它。
如果我想让控制器松散耦合,我有什么选择?我听说过异议,我会仔细研究,但任何输入都会非常受欢迎
问题在于它将责任留给了调用视图控制器。考虑一个视图控制器被多个视图控制器使用的情况;这必须在每个视图控制器中完成。 – mkko
这是一件好事。所以每个父视图控制器都可以不同地配置孩子。例如,如果视图控制器呈现给定的一组对象,则父视图控制器可以对其进行不同的配置。这允许很多可扩展性。 – MrJD
可配置性很好,这就是DI框架的目标之一。问题在于变化。这与复制代码基本相同。另一件事是,在DI中定义你需要的资源是非常方便的,它们将被提供。使用这种手动注入会给用户错误留下太多的空间。我认为这可以扩展到一些实用程序,以后会注入缺失的属性。但是,我还不确定如何实现这一点。 – mkko