UIday04

来源:互联网 发布:alpha软件go下载 编辑:程序博客网 时间:2024/06/06 08:57

 一、MVC设计模式

1.1 MVC是什么

是一个大型综合的设计模式。

设计模式是解决某一类问题的一种最优的办法。

1.2 为什么要用设计模式

提高程序的可重用、可扩展性、可维护性。

苹果的系统大量的使用了设计模式。

1.3 MVC简介

M:Model 模型

处理数据和业务逻辑、保存数据、网络通信…业务计算。

V:View 视图  (xib)

给用户提供界面显示,接受用户输入。

C:Controller 控制器  

控制程序的流程及跳转,协调View和Midel之间的工作。

课程安排:

control&controller

view

model

1.4 MVC之间的关系

CV是可以直接沟通的:

C —>V(IBOutlet)

V —>C(TargetAction,IBAction,Delegate)

CM是可以互相沟通的:

M不能访问C的,一般将C是访问M,M将信息传递给C,M层一般是被动的

C—>M 通过属性的方式或发送消息关联在一起的。

VM不能互相沟通,不可以交互的

1.5 多MVC(多界面开发)

应用程序中有多个界面,而每一个界面就是一个MVC,所以说多界面开发就是多MVC开发。

操作步骤:

a.创建两个VC类

b.创建一个VC对象,并设为根属兔控制器

c.添加了一个按钮,并添加了相应的时间方法

1>创建第二个VC对象

2>[self presentViewController:vc2 animated:YES completion:nil]

d.在第二个VC对象中,添加一个按钮和相应的事件

[self dismissViewControllerAnimated:YES completion:nil];

视图控制器的生命周期:

1>第一个界面的生在appdelegate中

第二个界面的生在第一个界面中的事件方法中

2>A界面跳转的时候,创建新的B界面,但原来的A界面没有销毁.从B界面返回A界面,原有的B界面就销毁了。

根视图控制器永远不会销毁。

练习:

如果登陆成功 就跳转第二个界面  如果失败在原有界面弹出UIAlerView显示登陆失败.

1.6 传值

将VC1中的数据传给VC2中。

使用步骤:

VC1:

a.在界面跳转之前,创建VC2对象

b.并传值给VC2.属性(model)

备注:传值的方式:属性、方法、自定义方法(事件源)

VC2:

a.生命一个属性(model),接收VC1传来的值。

b.第二个界面显示的时候(viewDidload)

将model的数据->显示(lable)


关于声明属性类型的情况:

 

@property(nonatomic,assign)int x;//基本类型的用assign

@property(nonatomic,copy)NSString *name;//字符串

@property(nonatomic,strong)TRViewController1 *student;//对象

@property(nonatomic,weak)UILabel *label;//控件

 


0 0
原创粉丝点击