使用视图控制器作为委托编写新的委托对象

时间:2011-08-30 03:46:00

标签: iphone objective-c ios

这更像是一个关于iPhone编码通常是什么好习惯的问题。

我有一个带有UISegmentedControls的滚动视图,提交按钮,UIActionSheets,缩放和暂时显示的关闭按钮。

我应该只是堆积所有方法调用(UIControls的目标操作)(这不是真正的委托方法)并将UIScrollViews的委托方法缩放到这个视图控制器中吗?或者更好的做法是创建一个新的[delegate]对象来处理这些对象的功能。

2 个答案:

答案 0 :(得分:1)

我认为,所有这一切的最佳位置是视图控制器。

我的想法是,根据MVC模型,管理UIControl的动作或某些缩放既不是数据(M)或某些显示(V)的工作,所以只有一个地方 - 控制器(C)。

当然,如果某些UIControl事件导致数据管理,您应该(在意识形态上)在模型中执行它,但无论如何都应该从控制器调用模型方法。我认为这不是直接连接的最佳方式view<->model

答案 1 :(得分:0)

这取决于你需要什么。 委托的想法鼓励人们创建一个新类来处理更多。但在大多数情况下,在视图控制器中实现委托方法很方便。例如,您可能希望在委托方法中使用实例变量。