从showalert方法中看iOS中的MVC
我们知道MVC是个模式,一个开发模式,一个构架模式,一个放之四海而皆为准的模式。
那什么是MVC?
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:
模型(Model)、视图(View)和控制器(Controller)。
那么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。
那什么是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。