如果我使用NSArray
的实例填充弹出按钮,那么在MVC方面,该NSArray
需要在哪里初始化?我猜它会属于模型,但是如果是这种情况,如何初始化数组?我是否要启动一个新的实现文件来包含数组? (显然不想使用我的应用程序委托文件,因为它将属于Controller而不是Model。)
最佳答案
MVC的“模型”部分是应用存储,呈现和/或允许用户操纵的数据。无论您的应用程序是运行在Mac,iPhone还是其他设备上,情况都大致相同。 “视图”是UI。这就是用户实际在屏幕上看到的东西。控制器是介于两者之间的部分。它负责为应用程序实现特定的行为逻辑,以及将视图层“粘合”到模型层。
因此,如此说来,要在弹出按钮中显示的项目数组可能是模型的一部分,也可能不是模型的一部分。这完全取决于您要实现的特定UI。如果选择是在模型中表示的多个对象之间进行,则数组的内容确实是模型的一部分,但仍然可能是控制器以另一种形式将项从模型中拉出并将其转换为NSArray。这也可能是在例如固定的要执行的动作列表,在这种情况下,它更适合作为控制器层本身的一部分。
换句话说,您的问题没有答案。但是,可能性是控制器将至少将所讨论的数组提供给UI,并且也可能对其内容完全负责。这完全取决于您要完成的工作。
关于cocoa - cocoa 中的MVC模式和模型对象初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13017152/