我对输入处理有点困惑的问候Apple's MVC pattern。据苹果,你的目的应被分为模型对象(处理数据),查看对象(其显示的东西),和控制器(其结合两个,并且还处理事件和输入)。然而,许多Apple的本机UIKit视图(UIScrollView,UIControl对象等)自己完成所有输入处理,可能会让他们的控制器通过委托和数据源了解它。这真让我困惑。在我看来,MVC黑社会的坚定性取决于模型和观点是否相当愚蠢(因此易于交换)。当所有操作系统级别的事件复杂性都集中在控制器中时,您可以很好地区分问题。另一方面,向视图添加输入处理似乎将其转变为其自己的一种控制器。用户输入如何适应Apple的MVC模式?
我在这里错过了什么吗?想想这个的正确方法是什么?
但根据苹果对此事的官方页面: “控制器对象可能解释在一些特定应用的方式向用户输入,然后或者可以告诉一个模型对象做什么用这个输入例如”添加新值“或”删除当前记录“ - 或者它可能会让模型对象在其某个属性中反映出已更改的值。基于相同的用户输入,某些控制器对象也可能会指示视图对象更改方面其外观或行为,如告诉按钮禁用自身。“ – Archagon
@Archagon我会假设Apple在该句子中使用术语*用户输入*表示“来自用户界面的数据”。 – trojanfoe