注册

从showalert方法中看iOS中的MVC

我们知道MVC是个模式,一个开发模式,一个构架模式,一个放之四海而皆为准的模式。
那什么是MVC? 
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:
模型(Model)、视图(View)和控制器(Controller)。
  • (控制器 Controller)- 负责转发请求,对请求进行处理。
  • (视图 View) - 界面设计人员进行图形界面设计。
  • (模型 Model) -程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

那么iOS中的showAlert函数又是什么样子的呢?
我们来看一个最简单的例子: 

@IBAction func showAlert(){

        let alert = UIAlertController(title: "Hello,World", message: "This is my first app!", preferredStyle: .Alert)

        let action = UIAlertAction(title: "Awesome", style: .Default, handler: nil)

        alert.addAction(action)

        presentViewController(alert, animated: true, completion: nil)
    }
那我们根据MVC来一一确认这些都代表什么意思?
let alert 是一个UIAlertController,很明显,首先它是一个Controller,但是我更感觉它像MV,
如 title,message很明显是View的内容,preferredStyle 表示是一个什么方式,应该是属于Model,功能的设计。
let Action 是一个 UIAlertAction,其中包含了 View 和 Control 的内容。title,style应属于
View 内容。handler是属于Controller。
alert.addAction(action) 将Action添加到Controller中,这是一个混合了View和Model和Controll
的组合。
presentViewController表示在当前视图中将对应的controller表示出来,这不折不扣的就是controller
里面的参数就是前面对应已经添加了action的alert。

0 个评论

要回复文章请先登录注册