# 项目实战:酒店预订系统iPhone客户端开发(Objective-C版)

一、课程解决的问题

本课程致力于帮助备考、转岗或需要提升技术水平的读者解决以下问题:

1. 系统性地学习Objective-C编程语言和iOS客户端开发技术;
2. 通过项目实践,掌握移动应用开发的核心流程和关键技能;
3. 提高解决问题的能力、团队协作能力和独立开发能力。

二、适合的学习者基础

- 具备基本的编程基础(了解变量、数据类型、控制结构等);
- 对iOS应用开发感兴趣;
- 希望提升编程技能或转行进入iOS应用开发领域;
- 希望通过项目实践来巩固所学知识。

三、建议先看的部分

1. **应用概述**(课程目录1-1):
- 了解酒店预订系统的功能、目标用户群体及项目背景,为后续学习打下基础。

2. **应用分析与设计**(课程目录2-1至2-4):
- 先学习需求分析和原型设计,掌握项目开发的基础方法;
- 接着学习架构设计和业务逻辑层设计,理解应用的整体结构。

四、学完能独立做什么

学完本课程后,你将能够:

1. 独立开发简单的iOS客户端应用程序;
2. 根据需求分析和设计文档,实现酒店预订系统的核心功能;
3. 运用Objective-C编程语言进行代码编写和调试;
4. 参与团队项目,承担前端和后端开发任务。

五、资料配合练习

为了更好地学习和掌握课程内容,建议使用以下资料进行练习:

- 完整的课程代码示例和文档;
- 实际项目中的开发问题和解决方案;
- 编程练习题和案例分析;
- 开发环境和工具(如Xcode、Simulator等)。

通过这些资料的帮助,你可以将理论知识应用到实际开发中,提升自己的编程能力。

六、学习顺序和门槛

1. **应用概述**(课程目录1-1):先了解项目背景和目标用户群体,为后续学习奠定基础。
2. **应用分析与设计**(课程目录2-1至2-4):逐步学习需求分析、原型设计、架构设计和业务逻辑层设计,掌握项目开发的基本方法。
3. **任务1和任务2**(课程目录3-1至4-2):通过实践操作,逐步实现酒店预订系统的核心功能。

七、学完产出

通过本课程的学习,你将能够独立开发出酒店预订系统的iPhone客户端应用程序,具备以下产出:

1. 功能完善的酒店预订系统;
2. 具备Objective-C编程能力和iOS应用开发经验;
3. 提高解决问题的能力和团队协作能力。

八、资料用法

为了有效利用这些资料,建议按照以下步骤进行学习:

1. 阅读课程代码示例和文档,理解项目结构和实现细节;
2. 完成编程练习题和案例分析,巩固所学知识;
3. 在开发环境中(如Xcode)实践项目开发,应用所学知识;
4. 参考实际项目中的开发问题和解决方案,提升解决问题的能力。

结语

项目实战是提高编程技能的有效途径。本课程通过酒店预订系统iPhone客户端开发的项目,帮助你掌握Objective-C编程和iOS应用开发的关键技能。希望你能够充分利用这些资源,取得优异的学习成果!

课程目录

1-1 [应用概述] 1.应用概述 (02:31)
2-1 [应用分析与设计] 2.1.需求分析 (07:02)
2-2 [应用分析与设计] 2.2.原型设计 (11:54)
2-3 [应用分析与设计] 2.3.架构设计 (06:16)
2-4 [应用分析与设计] 2.4.业务逻辑层设计 (04:51)
2-5 [应用分析与设计] 2.5.表示层设计 (04:00)
3-1 [任务1:创建工作空间] 3.任务1:创建工作空间 (03:20)
3-2 [任务1:创建工作空间] 3.1.迭代1.1 创建表示层工程 (05:33)
3-3 [任务1:创建工作空间] 3.2.迭代1.2 创建业务逻辑层工程 (11:27)
4-1 [任务2:业务逻辑层开发] 4.1.1.迭代2.1 编写搜索酒店的业务逻辑类-选择关键字实现 (22:49)
4-2 [任务2:业务逻辑层开发] 4.1.2.迭代2.1 编写搜索酒店的业务逻辑类-查询酒店实现 (22:49)
4-3 [任务2:业务逻辑层开发] 4.2.迭代2.2 编写房间查询业务逻辑类 (21:41)
5-1 [任务3: 表示层开发] 5.1.迭代3.1 根据原型设计初步设计故事板 (29:26)
5-2 [任务3: 表示层开发] 5.2.1.迭代3.2.1 选择城市视图及控制器1(表视图控制器编写) (14:13)
5-3 [任务3: 表示层开发] 5.2.1.迭代3.2.1 选择城市视图及控制器2(参数回传) (16:22)
5-4 [任务3: 表示层开发] 5.2.1.迭代3.2.1 选择城市视图及控制器3(Debug) (02:44)
5-5 [任务3: 表示层开发] 5.2.1.迭代3.2.1 选择城市视图及控制器4(视图设计) (13:17)
5-6 [任务3: 表示层开发] 5.2.2.迭代3.2.2 选择关键字视图及控制器1(调用业务逻辑层) (35:06)
5-7 [任务3: 表示层开发] 5.2.2.迭代3.2.2 选择关键字视图及控制器2(编写视图控制器) (09:41)
5-8 [任务3: 表示层开发] 5.2.2.迭代3.2.2 选择关键字视图及控制器3(回传数据) (07:03)
5-9 [任务3: 表示层开发] 5.2.2.迭代3.2.2 选择关键字视图及控制器4(Debug) (06:11)
5-10 [任务3: 表示层开发] 5.2.2.迭代3.2.2 选择关键字视图及控制器5(视图设计) (11:05)
5-11 [任务3: 表示层开发] 5.2.3.迭代3.2.3 选择价格和日期 (20:53)
5-12 [任务3: 表示层开发] 5.2.4.迭代3.2.4 酒店搜索视图及控制器 (17:16)
5-13 [任务3: 表示层开发] 5.2.5.迭代3.2.5 酒店搜索列表视图及控制器1(调用业务逻辑层) (22:23)
5-14 [任务3: 表示层开发] 5.2.5.迭代3.2.5 酒店搜索列表视图及控制器2 (08:42)
5-15 [任务3: 表示层开发] 5.2.5.迭代3.2.5 酒店搜索列表视图及控制器3(自定义单元格) (22:32)
5-16 [任务3: 表示层开发] 5.2.5.迭代3.2.5 酒店搜索列表视图及控制器4(添加翻页功能) (19:48)
5-17 [任务3: 表示层开发] 5.2.5.迭代3.2.5 酒店搜索列表视图及控制器5(Debug) (17:34)
5-18 [任务3: 表示层开发] 5.3.迭代3.3 房间查询模块1(调用业务逻辑层) (12:19)
5-19 [任务3: 表示层开发] 5.3.迭代3.3 房间查询模块2-3 (13:46)
5-20 [任务3: 表示层开发] 5.3.迭代3.3 房间查询模块4(Debug) (06:32)
6-1 [收官] 6.1.关于我们模块 (05:34)
6-2 [收官] 6.2.添加图标 (05:27)
6-3 [收官] 结束 (03)