我真的很讨厌单身人士,并且想知道是否有更好更清晰的方法将模型引用传递给视图控制器,以便我可以使用它的API。
答案 0 :(得分:-1)
不要讨厌单身人士,只要学会在合适的地方使用它们。
也就是说,如果您不想使用单例,您可以在app委托或“根”视图控制器中实例化模型控制器,然后将引用传递给所有需要它的视图控制器(就像你会传递任何其他配置数据。)
对于单身人士来说,当你有一些内容只应该存在一次并且它需要在应用程序的生命周期中存在时,它们是合适的。此状态通常也会在应用的多个区域之间共享。单身人士显然不是唯一的选择,但在面向对象的语言中,拥有一个实例化的对象来拥有和管理特定的状态和知识是有意义的。
人们经常滥用应用程序代理并赋予它一些不适当的职责,使用单例会提供更好的应用程序结构。