iOS学习笔记MVC

iOS 关于MVC的登录界面

2017-04-21  本文已影响23人  大源呀

简单的介绍下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在模型与视图中是充当桥梁的功能。

按钮点击方法以及接收状态方法的实现

这样 我们的View中实现的代码就完成了

第二步 在模型类NewModel中声明接收属性

这里有一点要注意:

model类是需要继承NSObject类

我们需要在.h文件中创建一个模型类自身的类方法以及声明三个属性(用户名,密码,状态)

还需要写出一个方法用来在网络上获取服务器的用户名和密码,来检查输入的用户名和密码

这里我先不用网络创建密码和用户名 只是简单的创建一个密码判断是否对错 

为了保证线程安全性,我们最好加上单次线程,避免创建多个实例

判断模型中的用户名与密码是否与我们输入的密码相同 

模型类代码也完成了

第三步 ViewController搭起桥梁

首先 我们需要在.h文件中创建“桥梁”方法

-(void)checkNews:(NSString *)username withPassword:(NSString *)password;

既然是桥梁 我们不要忘了导入View与Model的文件

并且创建实例 实现通信

这样,我们就简单的实现的由MVC实现的登录功能。虽然简陋,但是思想都是一致的。希望可以帮助到需要的人,也可以帮助我自己牢记。

上一篇下一篇

猜你喜欢

热点阅读