介绍制作第一个程序

上传人:kms****20 文档编号:37785157 上传时间:2018-04-22 格式:DOC 页数:40 大小:1.25MB
返回 下载 相关 举报
介绍制作第一个程序_第1页
第1页 / 共40页
介绍制作第一个程序_第2页
第2页 / 共40页
介绍制作第一个程序_第3页
第3页 / 共40页
介绍制作第一个程序_第4页
第4页 / 共40页
介绍制作第一个程序_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《介绍制作第一个程序》由会员分享,可在线阅读,更多相关《介绍制作第一个程序(40页珍藏版)》请在金锄头文库上搜索。

1、介绍本教程向您演示如何创建一个简单的 iPhone 应用程序。本文不打算对 iPhone 目前可用的特性作全面介绍,而是介绍一些技术,让您对基础开发过程有初步了解。如果您刚开始使用 Cocoa Touch 进行 iPhone 开发,则您需要阅读本文档。阅读之前,您需要大致了解计算机编程基础,尤其是要了解 Objective-C。如未曾用过该语言,则至少应通读学习 Objective-C:入门教材。本文档不是为了创建一个优雅漂亮的应用程序,而是为了向您描述:如何使用 Xcode 创建并管理一个工程基础设计模式和 iPhone 开发的基本技术Interface Builder 使用入门如何让应用程

2、序响应来自标准用户接口控件的用户输入另外,我们还在教程中指出其他一些文档。只有阅读这些文档,您才能充分理解 iPhone开发的工具和技术。重要:重要:为了学习本教程,您需要安装 iPhone SDK 和开发者工具,它们位于 iPhone 开发中心。文档描述的工具包含在 iPhone SDK v3.0里面请检查一下 Xcode 版本,它不能低于3.1.3。文档的组织方式本文档分为如下章节:“教程概述和设计模式”“创建您的工程”“添加一个视图控制器”“查看 Nib 文件”“配置视图”“实现视图控制器”“排除疑难”“下一步做什么?”程概述和设计模式本章概述您将要创建的应用程序以及将会使用的设计模式。

3、教程概述在学习过程中,您将创建一个很简单的应用程序。它含有一个文本字段,一个标签和一个按键。您可以把名字输入到文本字段中,再按下按键,这时标签的文本就会变成 “Hello, !”:尽管这是个很简单的应用程序,但它介绍了 基本的设计模式、工具、以及利用 Cocoa Touch 进行 iPhone 开发的基础技术。 Cocoa Touch 包括 UIKit 和 Foundation 这两个框架。当在 iPhne OS 上开发事件驱动的图形化应用程序时,您需要使用它们提供的工具和基本结构。同时,Cocoa Touch 还包含其他几个框架,它们提供一些基本的服务,可用于访问设备的特色内容,例如访问用户

4、的联系人。如需要进一步了解 Cocoa Touch 及其在哪些方面适应于 iPhone OS,请阅读iPhone OS 技术概览。 另外,我们将在“设计模式”一节中描述您将使用的主要的设计模式。虽然本教程不太顾及用户界面,但应用程序的表现形式是其获得成功的关键。您应该阅读iPhone 人机接口指南并且研究基于本文档的样例代码(HelloWorld),这样您才能明白如何改善用户接口,以使其成为一个成熟的应用程序。同时,您也将了解视图控制器如何工作以及它如何同 iPhone 应用程序的的架构相适应。设计模式请务必阅读Cocoa 基础指南的设计模式这一章。您将使用主要的模式如下:委托模型 视图 控制

5、器目标-动作下面对这些模式作简单介绍并且指出应用程序在什么地方会使用它们。委托委托模式是一个对象周期性地向被指定为其委托的另一个对象发送消息,向其请求输入或 者通知某件事情正在发生。该模式可替换类继承来对可复用对象的功能进行扩展。在本文将要创建的应用程序中,应用程序对象会向其委托发送消息,通知它主要的启动例 程已经完成并且定制的配置可开始执行。为了建立并管理视图,委托会创建一个控制器实例。另外,当用户点击 Return 按键后,文本字段也会通知它的委托(即所创建的控制器对象) 。委托方法通常会集中在一起形成一份协议。 一份协议基本上就是一个方法的列表。如果一 个类遵循某个协议,则它要保证实现协

6、议所要求的方法(有些方法可选择实现与否) 。委托 协议规定了一个对象可以发送给委托的所有消息。如果需要进一步了解协议及其在Objective-C 中的作用,请查看Objective-C 编程语言的协议。模型-视图-控制器模型-视图-控制器 (或者“MVC”)模式将应用程序中的对象设定为三种角色。模型模型对象表示数据。例如,在一款游戏中,SpaceShips 和 Rockets 是模型对象,在一个用于生产的应用中,ToDo 项和 Contacts 是模型对象,在一个绘画应用中,Circles 或Squares 是模型对象。本文将创建的应用程序用到的数据非常简单-仅仅是一个字符串-并且该字符串只在

7、一个方法中使用,因此,严格说,我们甚至没有必要在程序中使用模型对象,但是程序所用到的 设计原理却非常重要。在其他的应用程序中,模型对象将会更加复杂并且可以在多个地方 进行访问。视图视图对象知道如何显示数据(模型) ,并且它们有可能会允许用户对数据进行编辑。在本文将要创建的应用程序中,您需要一个主视图来包含其它几个视图 一个文本字段, 它用于捕获用户输入信息;第二个文本字段,它用于显示文本,而文本内容则是基于用户 的输入;另外还需要一个按键,用户利用它来告知我们第二个文本字段应该被更新。控制器控制器对象位于模型和视图之间。在本文将要创建的应用程序中,控制器对象将会从输入文本字段中取得数据,并把数

8、据存 放在一个字符串中,然后再把第二个文本字段的内容更新成恰当的值,更新操作则由按键 发送出来的动作触发。目标-动作目标-动作机制允许一个控件对象(诸如按键或滑动条) 向另外一个对象发送一条消息(即动作) ,以之作为对某个用户事件(例如一个点击事件或者一个敲击事件)的响应。接收到 消息的对象则可以对消息进行解释,并将其作为一个特定于应用程序的指令进行处理。在本文将要创建的应用程序中,当按键被敲击时,它会通知控制器根据用户的输入更新模 型和视图。下页上页创建您的工程在本章,您将使用 Xcode 创建前面所说的工程,同时还将查明应用程序的启动过程。Xcode我们主要利用 Xcode 来创建 iPh

9、one 应用程序,它是苹果的 IDE(集成开发环境)。您也可以利用它来创建各种不同类型的工程,包括 Cocoa 以及命令行工具。请注意:请注意: 本书,我们约定 表示一个段落的开始(有时,该段落包含其后的无序列表) ,而段落内容是教程里需要您执行的操作。代码列表不显示 Xcode 的模板文件里的注释。启动 Xcode(缺省情况下,Xcode 位于 /Developer/Applictions 里面),然后请选择 File New Project,这样就可以创建一个新工程。您应该会看到一个新的窗口,它和下图相似:请注意:请注意: 如果您没有看到 “Use Core Data for storag

10、e”这一选项,则请您务必您安装iPhone OS SDK 3.0版本您应该安装 Xcode3.1.3或者更高的版本。请选中 Window-Based Application 并点击 Choose 按键。 (请不要勾选“Use Core Data for storage”,本例不使用 Core Data 机制。)完成上述步骤后,屏幕会出现一张表格。请在上面选择工程的存储位置。请选择一个合适的位置(例如您可以放在桌面也可以放在一个定制的工程目录) ,然后为工程添加一个名称HelloWorld再点击保存按键。请注意:请注意:在后续章节中,我们假定您将工程命名为 HelloWorld,因此应用程序的委

11、托类就叫做 HelloWorldAppDelegate。如果使用其他名称,则应用程序委托类的名称将为YourProjectNameAppDelegate。完成上述步骤后,您将看到如下的新工程窗口:如果以前未曾用过 Xcode,则请花点时间来研究下该应用。请阅读Xcode 工作空间指南,它可以帮助您理解工程窗口的组织方式以及如何执行诸如编辑和保存文件这样的基本任务。 现在,您可以链编并运行程序,这样就能看到模拟器的外观。请选择 Build Build and Go (Run)或者点击工具栏中的 Build and Go 按键。iPhone 模拟器应该会自动启动。当您的应用程序启动后,您只看到一个

12、白色屏幕。如希望了解白色的屏幕从何而来,则您需先了解应用程序如何启动。退出模拟器。应用程序引导您创建的模板工程已设置了基本的应用程序环境。它创建一个应用程序对象,将应用程序 和窗口服务器连接起来,建立一个运行循环以及其他等等。大部分的工作通过UIApplicationMain 函数完成,请看图 2-1。图图 2-1 应用程序引导main.m 文件中的 main 函数会调用 UIApplicationMain 函数:int retVal = UIApplicationMain(argc, argv, nil, nil);该函数将会创建一个 UIApplicaion 类的实例。同时它会搜索应用程序

13、的 Info.plist 属性列表文件。 Info.plist 文件是一部字典,它包含诸如应用程序名称、图标这样的信息。它也可以包含应用程序对象应该加载的 nib 文件文件的名称,该名称由NSMainNibFile 键指定。Nib 文件含有一份用户接口元素及其他对象的档案您将在后续章节进一步了解 Nib 文件的知识。本工程的 Info.plist 文件具有下面的内容:NSMainNibFileMainWindow这表明应用程序启动时将会加载 MainWindow nib 文件。如希望查看 nib 文件,请双击工程窗口 Resource group 中的 MainWindow.xib 文件。 (

14、虽然该文件的扩展名为“xib”,但是我们习惯称之为“nib 文件”) 。Interface Builder将会启动并打开该文件。Interface Builder 文档包含四个对象:一个 文件拥有者文件拥有者代理对象。实际上,文件拥有者对象是 UIApplication 实例我们将 在“文件拥有者”一节讨论该对象。一个 第一响应者第一响应者代理对象。 本教材并未使用第一响应者,但是您可以阅读 iiPhone 应用程序的编程指南中的事件处理以了解更多信息。一个 HelloWorldAppDelegate 的实例,它会被设置成应用程序的委托委托。我们将在下一 节讨论委托。一个窗口。它被设置为白色背

15、景、启动时可见。应用程序启动时,您看到的窗口就是它。应用程序完成启动后,您可以执行附加定制。下图描述一种通用模式您将在下一章使用 它:应用程序对象在完成启动后会向委托发送 applicationDidFinishLaunching:消息。 通常情况下,委托不是自己配置用户接口,而是创建一个视图控制器视图控制器对象(一种特定的控制器,它负责管理一个视图遵循“模型-视图-控制器”描述的模型-视图-控制器设计模式) 。然后委托向视图控制器请求视图(这个视图由视图控制器根据要求创建) ,并将其添加成窗 口的子视图。小结在本章,您创建了一个新工程并学习了应用程序的启动过程。下一章,您将定义并创建一 个视

16、图控制器实例。添加一个视图控制器在本文档的示例程序中,您需要使用两个类。一个是 Xcode 的应用程序模板提供的应用程序委托,程序在 nib 文件中创建了一个该类的实例。另一个是需要您实现视图控制器类,您将创建该类的一个实例。添加一个视图控制器类在大部分 iPhone 应用程序中,视图控制器起着核心作用。正如其名称所示,它负责管理一个视图。在 iPhone 上,它们也帮助进行导航和内存管理。虽然本节例子程序不使用后两种功能,但对此有所了解很重要。UIKit 提供一个特别的类 即 UIViewController类它封装了视图控制器应该具有的大部分缺省行为。您应从它派生子类,在子类中定制 应用程序的行为。请选中 Xcode 项目管理器里的工程(即 HelloWorld 项目,位于 Groups and Files列表的顶部)或者选中 Classes 文件夹 新文件会被加入到当前选择的位置。请选择 File New File。在 New File 窗口中,请选择 Cocoa Touch Classes,然后选择

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号