模型-视图-控制器(MVC)设计模式

模型-视图-控制器(MVC)模式将对象分为三种不同的类型。是的,你猜对了:这三种类型是:模型、视图和控制器!

用下图来解释这些类型之间的关系相当简单。

《模型-视图-控制器(MVC)设计模式》

  • (Models)模型保存应用数据。它们通常是结构或简单的类。
  • (View)视图在屏幕上显示视觉元素和控件。它们通常是UIView的子类。
  • (Controllers)控制器在模型和视图之间进行协调。它们通常是UIViewController的子类。

MVC在iOS编程中非常常见,因为这是苹果在UIKit中选择采用的设计模式。

允许控制器为他们的模型和视图提供强大的属性,因此他们可以可直接访问。控制器可以有一个以上的模型和/或视图。

相反,模型和视图不应持有对其所属控制器的强引用。这将导致一个保留循环。

相反,模型通过属性观察(您将在后面的章节中深入了解)与控制器通信,而视图通过IBActions与控制器通信。

这让您可以在多个控制器之间重用模型和视图。赢了!

注意:视图可以通过委托对自己的控制器有一个弱引用(见第4章,“委托模式”)。例如,一个UITableView可以为它的委托和/或dataSource引用持有对它自己的视图控制器的弱引用。然而,表视图并不知道这些都是设置给它自己的控制器的–它们只是碰巧是这样。

控制器更难重用,因为它们的逻辑通常对它们所做的任何任务都非常特殊。因此,MVC并没有尝试重用它们。<

    原文作者:三线程序员
    原文地址: https://blog.csdn.net/u011160254/article/details/109765397
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞