MVC设计:我需要多少个阵列控制器?

时间:2012-08-09 18:18:14

标签: cocoa binding nsarraycontroller

我有一个非常简单的MVC设计问题。

我有一个包含大量属性的类,以及一个表示该类实例的表单。几个类属性是数组 - 一些是要在一维表视图中呈现的NSStrings数组,一些是要在二维表视图中呈现的子对象数组(每个子对象属性一列) )。我实际上并不想对任何这些表中的数据做任何事情 - 只是在可滚动的只读表视图中显示内容。

在我第一次尝试绑定时,我添加了绑定到类实例的对象控制器。然后,我尝试将每个表视图的每一列绑定到类的“selection”成员,并使用模型键路径指定实例的数组属性(对于二维表,还有一个子成员)宾语)。我很惊讶这对于一维表的列不起作用。

接下来,我为每个表添加了一个数组控制器,将其绑定到对象控制器的“selection”成员。对于一维表,我将列绑定到没有模型键路径的数组控制器;对于二维表,我使用指定子对象属性的模型键路径将列绑定到数组控制器。这有效 - 但对于一个有七个表的窗口,我有七个阵列控制器!这感觉有些过分,因为除了呈现数据之外,表格没有做任何事情。

我的问题很简单:我的设计是否与良好的MVC实践一致 - 我真的需要所有这些阵列控制器吗?或者是否有更简单的方法来指定我的绑定(对于一维和/或二维表),这将使我能够消除一些阵列控制器?当我在一个对象中有一个字符串数组要显示在一个列表中时,使用绑定到该对象和表的数组控制器感觉有些过分。

作为一个辅助问题 - 我真的需要担心过多的阵列控制器吗?它们是我应该自由使用的轻量级对象,还是我应该保留的资源密集型对象,尤其是在iOS等有限的资源环境中?

0 个答案:

没有答案