运行Xcode,在File菜单中选择New→Project…。
Xcode会显示新的工作空间(workspace)窗口,同时工具栏(toolbar)处会弹出下拉窗口(sheet)。选择位于下拉窗口左侧iOS栏下的Application(见图1-2),右侧有若干应用模板可供选择。请读者选择Empty Application(空应用)。
图1-2 创建新项目
空应用模板几乎没有多余的代码,而其他模板会生成很多通用代码。这些代码虽然能帮助开发应用,但是对于初学者,弊大于利。
本书中的项目都是使用Xcode 5.0.2创建的。Apple公司未来发布新版Xcode时,这些模板的名称可能有改动。读者在选择模板时,如果没有找到空应用模板,则可以选择一种看上去最简单的模板,例如Single View Application(单视图应用)。还可以访问本书原作者提供的论坛:http://forums.bignerdranch.com,以获取帮助。
单击Next按钮,在新出现的界面中,将Quiz填入Product Name文本框(见图1-3)。Organization Name和Company Identifier文本框也是必填的,读者可以分别填入Big Nerd Ranch和com.bignerdranch,也可以填入自己的公司名称和公司的反向域名,如com.yourcompanynamehere。
将BNR填入Class Prefix文本框,在标题为Devices的弹出式菜单中选择iPhone。确保标题为Use Core Data的选择框未被选中。
图1-3 设置新项目
虽然之前将Quiz项目的设备类型设置为了iPhone,但是生成的应用也能在iPad上运行。在iPad上,Quiz会在iPhone屏幕大小的窗口中运行,但不能充分利用iPad的大屏幕。对于一个用于学习的示例应用,这不是大问题。本书前半部分的应用都会使用基于iPhone设备的模板,并将重心放在学习iOS SDK的基础知识上。无论是哪种iOS设备,这些内容都是相同的。后面会介绍一些iPad独有的特性,以及如何编写在iPhone和iPad这两种设备上都能全屏运行的原生应用。
单击Next按钮后,Xcode会显示最后一个界面,提示读者保存项目。请准备好保存本书所有代码的目录,然后将Quiz项目保存在该目录下。本书不会介绍选择框Create local git repository for this project的作用,勾选或取消都可以。单击Create按钮,Quiz项目就创建好了。
项目创建完毕后,Xcode会显示工作空间窗口(见图1-4)。
图1-4 Xcode工作空间窗口
位于工作空间窗口左侧的是导航面板区域(navigator area),负责显示各种不同的导航面板。这些导航面板能分别显示项目的某些特定部分。单击导航面板选择条(位于导航面板区域上方)中的某个图标,可以选择相应的导航面板。
在Quiz项目工作空间中,当前选中的导航面板应该是项目导航面板(project navigator),项目导航面板的作用是显示项目中的文件(见图1-5)。读者可以尝试选中任意一个文件,文件会在导航面板区域右边的编辑区域(editor area)中打开。
项目导航面板中的文件可以按目录分组,以帮助整理项目。Xcode模板已经为Quiz项目创建了若干组。读者可以随意修改组名或增加新的组。项目导航面板中的组只用来整理文件,与文件系统无关。
图1-5 项目导航面板列出的Quiz项目中的文件
在项目导航面板中,找到名为BNRAppDelegate.h和BNRAppDelegate.m的两个文件。它们被称为BNRAppDelegate的类(class)文件,是空应用模板自动创建的。
一个类(class)表示一种对象(object)。iOS开发是面向对象的,每个iOS应用都可以看成是由一系列协同工作的对象构成的。Quiz应用启动时,系统将创建一个BNRAppDelegate对象。BNRAppDelegate对象有时也称为BNRAppDelegate类的一个实例(instance)。
读者将在第2章中学习更多关于类和对象的知识。现在,还请读者关注iOS设计和开发的基本理论,继续完成本章的Quiz应用。