安装
本课程对于创建运行在iPad、iPhone和iPod触摸屏上的应用来说,是一个完美的起点。该向导的四个板块可以作为构建你第一个应用的简单向导——内容包括了你需要使用的工具,主要的理念和最佳的实践。
前三个板块组成了一个教程,在这个教程中,你需要实现你所学到的知识。在最后一个教程的末尾,你将会创建一个显示待办列表的简单应用。
在你创建完成第一个应用之后,在你进入下一次努力之前,请阅读第4板块。该板块研究了你或许想要采用的技能和框架。
即使本系列教程会带你走过构建一个简单应用的每一步,但是一般来说,了解计算机编程的人员,特别是熟悉面向对象编程技术的人员从本指南受益最大。
获取工具
在你开始开发应用之前,先安装用于工作的开发环境:
在开发IOS应用之前,你需要准备:
1. 安装有OS X 10.9.4或之后版本系统的Mac电脑一部
2. Xcode(最新的版本)
3. IOS的SDK
Xcode是苹果推出的集成开发环境(IDE)。Xcode包含了资源编辑器,用户界面可视化编辑器和其它众多的元素。Xcode里继承的IOS SDK包含了工具集、编辑器和IOS开发所需的框架。
在Mac电脑上,从App Store里免费下载最新版本的Xcode,下载的Xcode里就包含了IOS的SDK。
Objective-C概念的简介
在这个教程中,你将使用Objective-C编辑语言。Objective-C语言是构建于C语言之上的一门编辑语言,它提供了面向对象的能力和动态的运行时。在Objective-C语言中,你会看到一些熟悉的元素,例如简单类型(int,float等等),结构体,函数,指针,流程控制结构(while,if...else等等)。你还会看到标准的C常规库,例如申明在stdlib.h和stdio.h文件里的东东。
对象是构建应用的模块
在构建一个IOS应用时,你会把大部分时间花费在对象上。
对象包装了与对象行为相关的数据。一个应用是相互联系的对象所组成的大型生态系统,这些对象通过与彼此之间的通信来完成特定的任务,例如显示可视化的界面,响应用户输入,存储信息等。应用和界面元素是由不同类型的对象所构建的,例如按钮,文本域,字符串,数组等。
类是对象的蓝图
对于任何类型的对象来说,类用来描述对象的行为和属性。
以同样的蓝图、以同样的方式构建的多个对象在结构上是同一的,对象的所有实例都共享着同样的属性和行为。你可以创建自己的类,也可以使用框架已经为你定义好的类。
通过创建某个类实例的方式来创建对象时,你需要为类的实例分配空间,并给它赋予合适的初始值。在创建对象时,你需要为对象分配足够的内存空间,并把对象所有的实例都初始化为0。初始化操作就是把对象的初始状态——也就是说,设置对象的实例变量和属性——设置为合理的值,最后把对象返回。初始化的意图是返回一个可用的对象。你既需要分配对象,也需要把对象初始化为可用。
Objective-C编程的一个基本理念就是类继承,即一个类继承父类的行为。如果一个类继承了一个父类,那么该类(即子类)就继承了定义在父类中的所有行为和属性。子类中可以定义自己额外的属性和行为,还可以重写父类的行为。因此,你可以只继承某个类的行为而不用重写该类已经存在的行为。
对象之间通过消息进行通信
在运行时,对象通过给其它对象发送消息来完成彼此之间的通信。在Objective-C体系中,对象通过调用其它对象的方法来实现对象之间的通信。
在Objective-C中,尽管多种方法都可以完成对象之间消息发送,但是最常用的方法是方括号语法。例如,如果你需要给XYZPerson对象的实例somePerson发送sayHello消息,那你可以这样做:
[somePerson sayHello];
左边的引用——somePerson——是消息的接收者,右边的消息——sayHello——是接收者里被调用方法的名称。换名话说,上面的代码被执行时,somePerson将会被发送sayHello消息。
Protocol定义了消息的契约
Protocol定义了在特定情况下对象的预期行为。protocol的形式是编程接口,任何类都可以实现协议。在使用protocol的前提下,两个继承不同父类的子类可以相互通信来完成某个目标,例如解析XML或复制对象等。
任何可以对外提供有用行为的类都可以申明接口来匿名的提供服务。任何类都可以选择性的适配protocol,实现protocol中的一个或多个方法,这样就可以使用类中的行为了。