首页 >> 大全

第一个ios应用(1)

2023-06-20 大全 50 作者:考证青年

开发应用的效果:

从图中可以看到,你创建的应用界面上有三个主要的元素:

当你完成开发并运行应用时,点按文本框就会呼出系统提供的键盘。使用键盘输入你的名字,关掉键盘(点按 Done 键),再点按 Hello 按钮就会看到“Hello,你的名字!”出现在位于文本框与按钮之间的标签上。

创建并测试新工程

开发新应用,从创建一个 Xcode 新工程开始。

如何创建新工程…

打开 Xcode(默认位置在/应用程序目录下)。

如果你从未使用 Xcode 创建或打开过工程,你将看到和图中类似的 Xcode 欢迎界面:

如果你曾经创建或打开过 Xcode 工程,你可能就会看到工程窗口,而不是欢迎界面。 在 Xcode 欢迎界面中,点选“ a new Xcode ”(或点选 File > New > )。

Xcode 将开启一个新窗口并显示对话框,让你选择一个模板。Xcode 内置了几套应用模板,可以方便开发常规 iOS 应用。例如, 模板能够创建一个和 类似的应用,而 - 模板能够创建和 Mail 相似的应用。

在对话框左侧的 iOS 部分选择 。 在对话框右侧的主要区域选择 View 然后点按 Next。

接下来的对话框会让你输入应用的名称,以及关于工程的一些额外信息。

填写 Name(产品名称)、 (公司标识)以及 Class (类前缀)。

你可以按下面的内容填写:

注意:Xcode 会使用你输入的产品名称为工程以及应用程序命名。Xcode 会使用你提供的类前缀名称来命名它为你创建的类。例如,Xcode 会自动创建一个应用委托类并将其命名为e。如果你填写了其他的类前缀,那么应用委托就会被命名为 你的前缀名称。(之后你会了解更多关于应用委托的内容。)

为了讲解的方便,本教程假定你的产品名为并且你使用作为类前缀。

在 弹出菜单中,确认选中了 。 请确认 Use 和 Use 选项是选中的,并且 Unit Tests 选项不被选中。 点按 Next.

会出现另一个对话框,可以选择在哪里保存工程文件。 选择一个保存位置(不要选中 选项),然后点按 完成创建。

Xcode 便会打开一个新工程窗口(我们叫它工作区窗口),看上去应该和下图类似:

花几分钟时间来熟悉一下 Xcode 为你打开的工作区窗口吧。在接下来的教程里,你会经常用到图中不同的区域和按钮。

如果你的工作区窗口里已经打开了实用工具区域(如上图的黄色区域),你可以暂时将其关闭,稍后才会用到它。在 View 按钮中最右边的就是实用工具区域的开关。当实用工具区域是显示状态时,该按钮应该是按下去的:

如果需要,则可以点按 View 按钮中的最右边一个来关闭实用工具区域。

尽管迄今为止你连一行代码都没有写,其实你已经可以编译此应用并在 iOS 模拟器中运行(已包含在 Xcode 中)。人如其名,iOS 模拟器能够让你直观感受你的应用在 iOS 设备上运行起来是什么样子。

如何在 iOS 模拟器中运行你的应用…

首先确认一下 Xcode 工具条里的 菜单选中了 > 5.0 。

如果该菜单显示的不是这一项,那么点开它并选择 5.0 。 点按 Xcode 工具条中的 Run 按钮(或点选 > Run)。

Xcode 会在工具条中央的活动查看器里实时显示构建过程。

当 Xcode 完成构建过程之后,模拟器就会自动运行(可能要等几秒模拟器才会出现在工作区窗口上方)。因为你已经选择过 (而不是 iPad),所以模拟器会显示一个和 一样的界面。在虚拟的 屏幕上,模拟器会自动运行你的应用,看上去应该是这样的:

现在,你的应用里什么也没有:它仅仅显示一个白屏。要了解这个白屏来自哪里的话,你需要学习代码里的对象,并且学习它们如何协同工作启动这个应用。现在,请退出模拟器(点选iOS > Quit iOS 。请注意不要退出 Xcode)。

在你运行应用到时候,Xcode 可能会展开工作区窗口底部的 Debug(调试)区域。在本教程里你不会用到这个区域,你可以将其关闭。

如何关闭调试区域…

弄明白一个应用是如何运行起来的

由于你的工程是基于 Xcode 的一个模板建立的,在运行应用的时候,大部分基础应用环境已经自动设置好了。例如,Xcode 会创建一个应用程序对象,它能够建立一个运行循环(Run Loop,即一种事件处理循环。它能够输入资源并让接收到的事件传送到你的应用里去)。这里的大部分工作是由函数完成的,这个函数是由 UIKit 框架提供的,在工程main.m源文件里已经自动被调用。

注意:UIKit 框架提供了一个应用所需的从构建到管理用户界面的所有类。UIKit 框架只是 Cocoa Touch 面向对象框架中的一种,它专为 iOS 应用环境服务。

如何查看 main.m 文件的源代码…

确保工程导航栏是打开的。

工程导航栏显示了工程里的所有文件。如果工程导航栏没有打开,点按导航栏选择列最左边的的按钮:

在工程导航栏中打开 Files 文件夹,点按左侧的三角形按钮即可。 点选main.m。

Xcode 会在此窗口的主要编辑器区域显示文件里的代码,看上去应该和图中类似:

源文件main.m里面的main函数会调用函数,并且是被包含在一个自动释放池里的:

@ {

(argc, argv, nil, ([e class]));

}

第一行的@语句可以支持自动引用计数系统(ARC)。ARC 可以自动管理应用中的对象活动周期,确保在程序需要它们的时候一直存在,并在不需要的时候释放这些对象。

调用函数时会创建一个类的实例和一个应用委托的实例(在本教程中,应用委托就是e,这是 View 模板自带的)。应用委托的主要任务就是提供一个窗口,从而让你的应用能够在里面绘制内容。应用委托还能在应用界面显示出来之前执行一些配置任务。(委托机制是一种设计模式,它规定:一个对象要代表另一个对象,或与另一个对象协同进行活动。)

在 iOS 应用中,窗口对象提供了一个可见容器,帮助把事件传送到应用对象中去,并且帮助应用响应设备在方向上的改变。而窗口本身是不可见的。

调用函数同时还会扫描应用的Info.plist文件,这个文件是一个包含应用名称、图标等信息的属性列表文件(即结构化的键/值对列表)。

如何查看属性列表文件…

因为你刚才选择在此工程里使用故事板,于是Info.plist文件里同样也会包含应用程序对象需要载入的故事板文件的名称。故事板里包含了定义此应用程序用户界面的对象、过渡()以及连接()。

在 应用中,故事板文件被命名为.(注意,Info.plist文件只会显示文件名的前半部分)。当应用启动时,.会被加载并且初始视图控制器( View )会通过它创建实例。视图控制器(View )是一个对象,用来管理一片区域中的内容;初始视图控制器就是应用启动时被载入的第一个视图控制器。

应用只含有一个 View (说白了就是ller)。现在,ller管理着一片区域的内容,它就是由一个视图(view)提供的。视图也是一种对象,它能够在屏幕上一个矩形区域内进行绘制,并且处理用户点、触时产生的事件。一个视图中可以包含其他视图,被包含的视图就叫做子视图。当你向一个视图内添加子视图时,最外层的视图叫做父视图,而它的子视图按理就被称为孩子视图。父视图和一系列孩子视图(如果继续包含下去,孩子视图还会有自己的孩子视图)共同构成视图层级。一个视图控制器管理一个层级的视图。

注意: 应用对象被定义为一种叫做模型-视图-控制器(MVC)的设计模式,视图及视图控制器就是这三个角色中的两个。第三个角色就是模型对象。在 MVC 里,模型对象代表数据(例如日历应用里的一个代办事项,或某画图应用里的一个形状),视图对象知道如何显示模型对象所提供的数据,而控制器对象则是模型和视图中间的连接部分。在 应用里,模型对象是一个用来保存用户输入的姓名的字符串。目前你不用太深入地了解 MVC,但是如果能够在设计过程中时刻想象你应用中的对象是如何扮演这三个角色的也很棒。

在接下来的步骤中,你需要在ller管理的视图中添加三个子视图来形成视图层级;这三个子视图分别是一个文本框、一个标签和一个按钮。

在故事板中你可以看到视图控制器和视图的可视化表现形式。

如何查看故事板…

当你打开默认的故事板时,工作区窗口看起来应该和图中类似:

每个故事板都包含若干 Scene(场景)和 Segue(接续)。场景代表一个视图控制器,接续代表两个场景之间的过渡转换。

由于 View 模板只提供一个视图控制器,所以你应用的故事板里就只有一个场景,没有接续。画布上场景左侧的一个箭头是初始场景指示器,表明它指着的场景是应用载入时第一个显示的场景(典型情况下初始场景就相当于初始视图控制器)。

你在画布上看到的这个场景名称是 Hello World View 因为它受ller对象的管理。Hello World View 是由 Xcode大纲视图里显示的若干个部件构成的。大纲视图就是画布和工程导航栏之间的那一栏。目前,视图控制器包含一下几个部件:

注意:应用的窗口对象并不在故事板里。

画布中场景下面的部分叫做Scene Dock(场景坞)。现在场景坞里显示了一些视图控制器的名称(也就是 Hello World View )。在其他时候,场景坞可能包含一些代表 first 和视图控制器对象的图标。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了