简单的介绍下MVC 模式
网上有很多介绍mvc模式的文章,我也看了好多篇。对于初学者来说理解起来还是有些困难,在这里想把我的理解记录下来,以便参考。
Model:模型 通俗的理解就是提供给视图类所接收的数据
比如飞机游戏中你的小飞机的攻击力是多少?你的小飞机上装的是什么武器,炮弹,导弹,还是激光炮?你的小飞机还有多少血?等等
Controller: 控制器 将模型呈现给数据 有点类似于程序逻辑
比如飞机游戏中你按开炮的键子,Controller就会通过内部的逻辑来处理你的要求,并在屏幕上做出相应的显示,你将看到屏幕上的小飞机发出炮弹击中敌机。这也是Controller控制
View: 视图 在屏幕上能看到的东西 按钮 文本框 滑动条之类的
比如你的小飞机是什么样子的,有一个还是两个翅膀,有几挺枪炮;还有,你的飞机在屏幕上的位置
MVC可以帮助确保帮助实现程序最大程度的可重用性。各MVC元素彼此独立运作,通过分开这些元素,可以构建可维护,可独立更新的程序组建。
我做的是最基本的用户界面 输入密码成功则在控制台显示登录成功 错误则显示登录失败
首先为了结构清晰,我们可以创建三个组(group)分别用来存储 Model,View,Controller
第一步 我们需要在View中去写出我们所需要的控件
在NewsViewController.h文件中先创建一个接收登录状态的方法
-(void)NewsState:(NSString *)state;
在NewsViewController.m文件中
我们写出两个文本框 及一个Button点击按钮
在Button按钮的点击方法checkButton中 我们需要向Controller中传递用户名与密码 所以在ViewController文件中 我们需要写出方法
-(void)checkNews:(NSString *)username withPassword:(NSString *)password;
用来接收Model中的值以及View中的值 这也能说明ViewController在模型与视图中是充当桥梁的功能。
按钮点击方法以及接收状态方法的实现
第二步 在模型类NewModel中声明接收属性
这里有一点要注意:
model类是需要继承NSObject类
我们需要在.h文件中创建一个模型类自身的类方法以及声明三个属性(用户名,密码,状态)
还需要写出一个方法用来在网络上获取服务器的用户名和密码,来检查输入的用户名和密码
这里我先不用网络创建密码和用户名 只是简单的创建一个密码判断是否对错
为了保证线程安全性,我们最好加上单次线程,避免创建多个实例
判断模型中的用户名与密码是否与我们输入的密码相同
第三步 ViewController搭起桥梁
首先 我们需要在.h文件中创建“桥梁”方法
-(void)checkNews:(NSString *)username withPassword:(NSString *)password;
既然是桥梁 我们不要忘了导入View与Model的文件
并且创建实例 实现通信
这样,我们就简单的实现的由MVC实现的登录功能。虽然简陋,但是思想都是一致的。希望可以帮助到需要的人,也可以帮助我自己牢记。