当前位置:文档之家› IOS开发流程说明书

IOS开发流程说明书

IOS开发流程说明书
IOS开发流程说明书

I O S

开发流程说明书

版本:V0.2

文档修订记录

*变化状态:A——增加,M——修改,D——删除,N——正式发布

文档审阅信息

目录

1 序言 (6)

1.1编写目的 (6)

1.2术语定义 (6)

1.3参考资料 (6)

2 关于IOS (6)

2.1 IOS介绍 (6)

2.2 IOS开发环境简述 (7)

3 创建项目 (9)

3.1 新建iOS项目 (9)

3.2 应用程序目录结构说明 (12)

3.3 应用程序初始结构概览 (14)

3.4 IOS应用程序的生命周期 (15)

4 代码入门(数据类型) (16)

4.1 基础数据类型 (17)

4.2 OC数据类型 (17)

4.2.1 NSNumber类和NSInterger (17)

4.2.2 NSString类型 (19)

4.2.3 NSArray类型 (19)

4.2.4 NSDictionary类型 (20)

4.2.5 NSDate类型 (20)

5 OC类的认识(成员变量和方法) (20)

5.1 类的声明 (21)

5.2 方法的定义 (24)

6 运行和调试 (24)

6.1 IOS模拟器 (25)

6.1.1 选择设备 (25)

6.1.2 模拟器自定义设置 (26)

6.1.3 存储屏幕快照 (27)

6.2 程序调试 (28)

6.3 NSLog (29)

1 序言

1.1编写目的

本说明书为IOS开发流程说明书,制定本说明书的目的是针对IOS开发技术进行宏观表述。以便后续的设计、开发、测试、验收等工作顺利进行。

适用对象:

IOS开发人员

项目管理人员

产品开发人员

1.2术语定义

(1)真机

真机即所谓的iPhone手机或者ipad,是指具有IOS这个操作系统的手机,由苹果公司进行研制并销售,用户可以从appstroe上下载相关应用及游戏。

(2)IOS SDK

IOS专属的软件开发工具包。

(3)Xcode

IOS开发工具。

1.3参考资料

暂无。

2 关于IOS

2.1 IOS介绍

苹果IOS是由苹果公司开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。IOS与苹果的Mac OS X操作系

统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010WWDC大会上宣布改名为IOS。最新版本为IOS7.0。

更多的资料可以到苹果开发网站上获取:

https://www.doczj.com/doc/b010735371.html,/special/fornew.html

本文主要对以下几个方面对IOS的开发入门进行引导说明。如图2-1所示。

图2-1 IOS开发入门说明的内容导航图

2.2 IOS开发环境简述

最友好,最现实,也是最方便的开发环境就是在Mac系统中安装Xcode进行开发。原因在于:第一,开发工具(Xcode)限制。苹果官方只提供Mac版的Xcode,而Xcode内置了Xcode IDE,性能分析工具,iOS SDK,iOS模拟器和最新的OS X,可以方便迅速的进行代码编辑以及应用调试,可谓是Mac和iOS开发工具的不二选择。第二,代码提示和自动补全。iOS开发中用到的类或方法的名称,为了更具语义化,让开发者一目了然,通常会比较长,这往往会让刚刚接触iOS开发的开发者为了记住这些方法而伤透脑筋。而Xcode拥有优于其他编辑器的OC代码

提示和自动补全功能,这将很大程度降低开发入门的门槛,这决定你开发iOS

应用没有理由不使用Xcode。因此,使用非苹果电脑的开发者们最好安装Mac OS X的虚拟机,进行开发学习,否则你不仅会比别人花上多出一倍甚至更多的时间去搭建开发环境,而且代码编写上也会比使用Xcode开发的人花上更多的精力。

目前Mac OS X系统的最高版本是10.9.1,如下图所示,Xcode版本可以安装到最高版本5.0.2.如果是在windows安装的虚拟机,发布的懒人版本最高应该是10.8.2。Xcode版本5与4是不能向下兼容的,主要是UI开发机制的修改,如果系统版本不统一建议,Xcode版本安装至4.6.1.暂时可以支持到iOS6.0 SDK 的版本开发,如果要很对iOS7版本开发,建议Xcode都更新到5以上。

图2-1 OS X系统版本显示图

3 创建项目

3.1 新建iOS项目

打开Xcode,如果是首次打开Xcode,你将会看到一个欢迎界面,如图:

图3-1 Xcode欢迎界面

你可以直接在该界面中点击图3-1中1处标记的Create a new Xcode project来创建一个项目,也可以点击图中2处标记的按钮来打开电脑中已经存在的Xcode项目。你还可以修改3处标记的复选框状态设置下次启动Xcode是否显示该欢迎界面。

本文不演示在此点击1处所示创建项目,首先点击该界面左上角的红色按钮退出该欢迎界面,然后点击屏幕左上角的File->New->Project。截图如下:

图3-2 Xcode菜单界面

接下来你将看到如下界面:

图3-3 Xcode创建项目界面

首先进行系统筛选,iOS应用则选择iOS列表对应项,OS X应用则选择OS X 列表对应项。本例为iOS应用,故在此选择iOS中的Application(图中左上角红框所示),然后选择应用模板选择,在界面右边列出了多种最常用的应用模板

类型,开发者按照自己的应用需求可自行选择,本例选择Single View Application(图中右上角红框所示)。一般项目开发如果是自己定制的界面开发,建议选择Empty Application。做完以上选择后点击窗口右下角Next按钮,进入下一个设置窗口:

图3-4 Xcode项目信息界面

此处内容会根据个人情况而不同,故不做赘述,按照窗口提示,填写相关信息即可。注意窗口下方的三个复选框,其功能分别是使用storyboards、使用自动引用计数器、包含单元测试,根据个人情况勾选/取消即可。建议选择storyboards和Use ARC模式,关于ARC模式在以后的章节中会做重点介绍。设置完成后点击右下角Next按钮,进入下一个窗口:

图3-5 Xcode项目文件存储界面

按照窗口所示,选择项目存储位置后点击窗口右下角Create按钮,完成应用创建过程。

3.2 应用程序目录结构说明

项目创建完成之后,Xcode会进入项目开发界面,界面大致分为三部分,左侧项目及目录结构列表、中间为代码编辑区、右侧属性设置和控件列表等区域。下面是目录结构的截图:

图3-6 Xcode项目目录界面

项目初始时包含如图所示三个主要目录,后续开发中开发者可以自行添加目录。其中:

?FirstIosApp目录与项目名称同名,主要存放应用相关源代码和配置文件;

?Framework存放项目使用到的框架,默认会添加图示三个必备框架;

?Products用于存放生成的应用文件,开发中开发者一般不必关心。

项目目录建议建立统一的说明文档,根据文档属性归类相同文件。下图3-7显示某一个完整项目的目录。

其中view文件夹内都是界面元素文件,parse是接口解析文件,images是图片文件,model是数据模型文件,dao是数据库操作文件,util是工具类文件,viewcontroller是界面文件。

文件目录实行统一化管理,方便文件的归类和查找,易于团队开发。

图3-7 Xcode项目目录实例界面

3.3 应用程序初始结构概览

整个应用程序的入口文件默认为AppDelegate.m,应该可以通过配置文件修改(未尝试)。其内部结构如下图3-8所示。

该文件包含应用程序生命周期中各个阶段可以调用的方法接口,以便应用程序在不同的状态阶段能进行相应的操作。这些方法就不一一说明了,开发者几乎可以望名知意。主要应用的方法就是didFinishLaunchingWithOptions,是程序启动后加载界面和初始化的方法。

图3-8 AppDelegate.m代码图

3.4 IOS应用程序的生命周期

对于上面图示方法如果还有不解的地方,可以参考下图3-9所示(来源于网络):

图3-9 IOS应用生命周期流程图

4 代码入门(数据类型)

做iOS开发,仅仅懂得使用Xcode,仅仅了解目录结构,仅仅了解生命周期,是远远不够的,这些只是基础中的基础。一定的编程能力也是必不可少的。下面就简单的介绍一下iOS开发的编程语言——Objective-C,后面简称OC。

学习一门语言,往往需要从最基础的数据类型开始,至于编程逻辑,技巧等则是在开发过程中慢慢积累的。下面对基础的数据类型和OC的数据类型详细说明一下。

4.1 基础数据类型

OC是C语言的一个超类,因此OC拥有C或C++的几乎所有特性,当然它也有自己独具一格的地方。所以OC也支持C语言的数据类型,诸如int,float等也都可以在OC中使用。基础数据类型可以参考一些C语言相关介绍,这里不多做介绍。

4.2 OC数据类型

OC不是仅仅只能使用C/C++的数据类型,它也拥有自己的数据类型,虽然与通常人们熟知的各种数据类型看起来不太一样,但事实上OC的数据类型是与基础数据类型相近,也不难理解。下面列举几个常见的OC数据类型。

4.2.1 NSNumber类和NSInterger

NSNumber是以对象的形式来包装基础数据类型,它提供以下方法,以下会对OC的方法定义进行介绍:

+ (NSNumber *) numberWithChar: (char) value;

+ (NSNumber *) numberWithInt: (int) value;

+ (NSNumber *) numberWithFloat: (float) value;

+ (NSNumber *) numberWithBool: (BOOL) value;

例如,要从一个int数据初始化一个NSNumber可以这样写:

NSNumber *number = [NSNumber numberWithInt: 100];

而要从NSNumber实例得到NSInteger数据则可以如下操作:

NSInteger integer = [number intValue];

如果下载了SDK可以在数据类型上点击command按键,查看所有方法的定义。如下图所示。

图4-1 对OC基础类点击command按键显示图

图4-2 对OC基础类定义显示图

4.2.2 NSString类型

NSString是OC的字符串类。与普通字符串不同的是NSString的值需要在普通字符串前加上一个@符号。例如要初始化一个'I'm a string.'的OC字符串,我们需要这样做:

NSString *str = [NSString stringWithString: @"I'm a string."];

OC也提供简写形式:

NSString *str = @"I'm a string.";

NSString类还提供了很多其他形式的创建字符串的方法(比如:stringWithFormat等),这里就不一一列举了,可以在基类中查看。

4.2.3 NSArray类型

NSArray是OC的数组类。OC的数组是很强大的,在一个数组中可以允许存在不同类型的数据,这个特性就跟强大的JavaScrit一样。初始化一个数组可以这样操作:

NSArray *arr = [NSArray arrayWithObjects:@"a", @"b", @1, nil];

当然也支持简化形式:

NSArray *arr = @[@"a", @"b", @1];

需要说明一点,使用arrayWithObjects方法创建数组的时候最后需要以nil 结尾,而使用简化方式的时候不需要。

开发中可以使用以下两种形式获取数组对应索引位置(index)的值:

NSString *a = arr[index];

NSString *b = [arr objectAtIndex: index];

这里对NSMutableArray类型说明一下,很多基础类型都提供了类似的两种类型,主要区别是,NSArray类型是不变长数组,定义后是不能修改长度;NSMutableArray是可变长度数组,可以动态改变数组内元素长度和内容。

4.2.4 NSDictionary类型

NSDictionary是OC的字典类。字典类型在使用中以key-value键值对的形式存在。也支持多种初始化方式,下面列举两种:

NSDictionary *dic = [NSDictionary dictionaryWithObjects:@[@"a",@"b", @"c"] forKeys:@[@"first", @"second", @"third"]];

NSDictionary *dic = @{@"first": @"a", @"second": @"b", @"third": @"c"};

取值方法跟NSArray大同小异,也提供NSMutableDictionary类型:

NSString *a = [dic objectForKey: @"first"];

NSString *b = dic[@"second"];

4.2.5 NSDate类型

NSDate是OC的日期类。常见用法举例:

NSDate *date = [NSDate date]; //返回当前时间

NSDate *date = [[NSDate alloc] init]; //初始化为当前时间,类似date

5 OC类的认识(成员变量和方法)

iOS开发常常伴随着视图,而视图往往离不开视图控制器,在iOS开发中每一个视图控制器就是一个OC的类,因此学习iOS开发就必须了解OC的类。

OC的类使用@interface ClassName: superClass … @end 结构来定义,NSObject是所有OC类的父类。与java相比OC的@interface 关键字就等同于JAVA的class关键字,OC的protocol就是JAVA中的interface,学习时需要特

相关主题
文本预览
相关文档 最新文档