【发布时间】:2011-06-09 02:31:42
【问题描述】:
我正在构建一个复杂的 iPad 应用程序;将其视为剪贴簿。
对于这个问题,让我们考虑一个上面有两张图片的页面。
我的主视图将我的文档数据显示为单个 UIImage;这是因为我需要对它们进行一些全局操作。这是我的DisplayView。
编辑时,我需要用我的两个图像作为子视图实例化一个EditorView;通过这种方式,我可以与单个图像交互(旋转、缩放、移动)。触发编辑时,我隐藏我的DisplayView 并显示我的EditorView。
在 iPhone 应用程序中,我会将每个主视图(即填充屏幕的视图)关联到一个视图控制器。
问题是这里只有一个视图控制器;我考虑过通过模态视图控制器传递EditorView,但这不是一个选项(有一个复杂的布局,其中有一个覆盖所有内容和调色板的掩码;在EditorView 中重建它会创建重复的代码)。
目前EditorView 包含一些逻辑(从模型加载数据,调用一些子视图进行精细编辑,将数据保存回模型); EditorView 子视图也包含一些逻辑(我操作图像并将它们传递回主视图 EditorView)。我觉得这个逻辑更多地属于控制器。另一方面,我不确定让我唯一的视图控制器这么胖是个好主意。
这种类结构的最佳可可式实现是什么?
随时要求澄清。
干杯。
【问题讨论】:
标签: cocoa model-view-controller ipad ios