青岛滨海学院计算机教研室崔守良课件.ppt

上传人:本田雅阁 文档编号:3233397 上传时间:2019-08-03 格式:PPT 页数:16 大小:2.20MB
返回 下载 相关 举报
青岛滨海学院计算机教研室崔守良课件.ppt_第1页
第1页 / 共16页
青岛滨海学院计算机教研室崔守良课件.ppt_第2页
第2页 / 共16页
青岛滨海学院计算机教研室崔守良课件.ppt_第3页
第3页 / 共16页
青岛滨海学院计算机教研室崔守良课件.ppt_第4页
第4页 / 共16页
青岛滨海学院计算机教研室崔守良课件.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《青岛滨海学院计算机教研室崔守良课件.ppt》由会员分享,可在线阅读,更多相关《青岛滨海学院计算机教研室崔守良课件.ppt(16页珍藏版)》请在三一文库上搜索。

1、青岛滨海学院 计算机教研室 崔守良,模型-视图-控制器应用程序设计,了解MVC设计模式,MVC定义了应用程序的三个部分: 模型提供底层数据和方法,它向应用程序的其他部分提供信息。 用户界面由一个或多个视图组成,而视图由不同的屏幕控件(按钮、文本框等)组成,用户可与之交互。 控制器通常与视图配对,负责接受用户输入并做出相应的反应。控制器可访问视图并使用模型提供的信息更新它,还可使用用户在视图中的交互结果来更新模型,Xcode中的MVC,1、视图 通常使用Interface Builder以可视化的方式设计它们。 视图是完全 独立于逻辑结构的,要让视图中的对象能够与应用程序逻辑交互,必须定义相应的

2、连接。连接到的东西有两种:输出口和操作。输出口定义了代码和视图之间的一条路径,可用于读写特定类型的信息;而操作定义了应用程序中的一个方法,可通过视图的事件触发。,2、视图控制器 负责处理与视图的交互,并为输出口和操作建立连接。 需要在项目代码中使用两个特殊的编译指令:IBOutlet和IBAction。 IBOutlet用于让代码能够与视图中的对象交互,如一条属性的声明如下: property (strong, nonatomic) IBOutlet UILabel *myLabel; 属性的声明加上IBOutlet关键字后便可以在IB中以可视化方式将视图中的标签对象连接到属性myLabel,

3、在代码中使用该属性与标签交互。,IBAction用于指出在特定的事件发生时应调用代码中相应的方法。如用户按下了按钮或更新了文本框,你可能想应用程序采取措施并做出合适的反应。编写实现事件驱动逻辑的方法时,可在头文件中使用IBAction声明它,这将向IB编辑器暴露该方法。 例如,方法doCalculation的原型可能类似于这样: -(IBAction) doCalculation: (id) sender; 3、数据模型 对于小型应用程序,很少需要实现数据模型,而是将其逻辑加入到控制器中。大量数据应用程序可以使用Core Data,其抽象了应用程序与底层数据存储之间的交互。,了解Interfa

4、ce Builder,Interface Builder是Xcode集成的杰出用户界面编辑器,让你以可视化方式设计应用程序界面。 IB不自动生成界面代码,也不将源代码直接关联到界面元素,而是生成实时的对象,并通过称为连接的简单关联将其连接到应用程序代码。 当你需要修改应用程序功能的触发方式时,只需要修改连接即可。,Interface Builder故事板,在IB中所做的工作将变成一个XML文件,它被称为故事板(storyboard),包含应用程序要显示的每个屏幕的对象层次结构。 这些对象可能是界面元素-按钮、开关等,也可能是你需要在应用程序中使用的其他非界面元素。 组成特定屏幕的一系列对象称为

5、场景(scene)。 故事板可根据需要包含任意数量的场景,产通过切换(segue)将场景关联起来。,使用模板Single View Application,操作步骤:,1、创建项目。 新建一个iOS应用程序,选择Single View Application模板,输入项目名:HelloNoun。 选中Use Storyboard和Use Automatic Reference Counting。 项目包含5个文件: AppDelegate.h和AppDelegate.m组成了该项目将创建的UIApplication实例的委托,可对这些文件进行编辑,以添加控制应用程序运行时如何工作的方法。,Vi

6、ewController.h和ViewController.m实现了一个视图控制器(UIViewController),这个类包含控制视图的逻辑。 MainStoryboard.storyboard故事板文件,用于存储界面设计,单击故事板会在IB中打开。应用程序加载故事板文件时,其中的对象将被实例化,成为应用程序的一部分。,2、规划变量和连接 成功的项目始于成功的规划和设置。你应该做如下工作: 确定所需的实例变量。哪些值和对象需要在类的整个生命周期内都存在。 确定所需的输出口和操作。哪些实例变量需要连接到界面中定义的对象?界面将触发哪些方法? 创建相应的属性。对于每个打算操作的实例变量,都应使

7、用property来定义实例变量和属性,并为该属性合成设置函数和获取函数。 清理。对于在生命周期内不再需要的实例变量,使用其对于的属性将其值设置为nil。,3、设计界面 在项目导航器中选择MainStoryboard.storyboard,打开它,在IB中打开对象库,将相应的对象拖放到视图中。 4、创建并连接输出口和操作 添加输出口:按住Control键,并拖曳用于输出的标签,将其拖曳到包含文件ViewController.h的代码编辑器中,当鼠标位于interface行下方时松开。 可以使用助手编辑器,这样可以同时看到视图和ViewController.h文件,松开鼠标时,将被要求定义输出口

8、,从Connection下拉列表中选择Outlet,从Storage下拉列表中选择Strong,从Type下拉列表中选择UILabel,指定属性名userOutput,再单击Connect按钮,Xcode将自动插入合适的编译指令property和关键字IBOutput、编译指令synthesize以及清理代码。更重要的是在输出口和界面对象之间建立连接。,添加操作 按住Control键,将视图中的按钮拖曳到接口文件ViewControl.h中,松开鼠标配置连接,务必将连接类型设置为Action,从Event下拉列表中选择Touch Up Inside,指定触发该操作的事件,4、实现应用程序逻辑

9、打开ViewController.m文件,转到setOutput方法的实现上。 该方法将输出标签的内容设置为用户在文本框中输入的内容。 -(IBAction) setOutput: (id) sender selt.userOutput.text = selft.UserInput.text; 5、生成应用程序,练习:,1、请在Interface Builder中探索常用界面对象的属性,尝试设置不同的字体、颜色和布局。 2、重新创建项目HelloNoun,以手工方式定义输出口、操作、实例变量属性,在故事板中,按住Control键,从场景的View Controller图标拖曳到视图中相应的图标,建立输出口;打开Connection Inspector,选择Touch Up Inside事件,拖曳到ViewController创建到操作的连接,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1