MVC

MVC: (Model View Controller)模型(model)-视图(view)-控制器(controller):

首先什么是MVC:

M是指数据模型,V是指用户界面,C则是控制器。

为什么会引入MVC:

在写一些长一点的东西时,代码会特别长,有的比较麻烦的界面,代码会多达四五百行,当写完后想改什么东西时,有时好久都翻不到写在哪,为了使代码更加易读和操作方便,引入了MVC

MVC的功能原理:

MVC实现原理图
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。(来自百度百科)

简单来说,MVC实现了数据和界面的分离, 数据存在M, 界面写在V, 通过C实现交互。

关于V界面

虽然他叫界面, 但只是一个View继承于UIView, 刚开始写时没注意, 直接让他继承了UIViewController。所以View里的内容其实可以说是重写了View。

在MVC中出现的一个新的传送信息的方法:NSNotification

  • View和Controller之间协议传值, 由于View和Modle之间不能直接交互, 需要Controller, 所以协议传值把View的情况传给Controller, 关于协议传值详见以下链接,
    https://blog.csdn.net/qq_44865905/article/details/98985638

  • 关于NSNotification的简单使用

1> 发送一个通知

[[NSNotificationCenter defaultCenter] postNotificationName:@"MVCTest" object:self];

2> 添加观察者

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MVCTest:) name:@"MVCTest" object:nil];  

3> 通过观察者的方法做出相应动作

 - (void)MVCTest:(NSNotification*)notification{ 

}

 4> 当不使用的时候,在dealloc方法中移除观察者

 - (void)dealloc{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

我用MVC实现了一个简易的注册和登录界面 github链接如下:
https://github.com/puyuerong/MVCtest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值