发表于2024-11-26
前 言
第一部分 基础篇
第1章 开篇综述
1.1 iOS概述
1.2 开发环境及开发工具
1.3 本书中的约定
第2章 第一个iOS应用程序
2.1 创建HelloWorld工程
2.2 HelloWorld工程中的故事板文件
2.3 应用生命周期
2.4 视图生命周期
2.5 设置产品属性
2.6 iOS API简介
2.7 小结
第3章 UIView与视图
3.1 视图“始祖”——UIView
3.2 标签与按钮
3.3 动作与输出口
3.4 TextField和TextView
3.5 开关控件、滑块控件和分段控件
3.6 网页视图WebView
3.7 等待相关的控件与进度条
3.8 警告框和操作表
3.9 工具栏和导航栏
3.10 小结
第4章 iOS 8多分辨率屏幕适配
4.1 iOS 8屏幕的多样性
4.2 iOS屏幕布局
4.3 Auto Layout布局
4.4 Size Class与iOS 8多屏幕适配
4.5 在屏幕滚动视图中使用Auto Layout和Size Class
4.6 使用资源目录(asset catalog)管理图片
4.7 小结
第5章 委托协议、数据源协议与高级视图
5.1 视图中的委托协议和数据源协议
5.2 选择器
5.3 集合视图
5.4 小结
第6章 表视图
6.1 概述
6.2 简单表视图
6.3 分节表视图
6.4 修改单元格
6.5 表视图UI设计模式
6.6 小结
第7章 视图控制器与导航模式
7.1 概述
7.2 平铺导航
7.3 标签导航
7.4 树形结构导航
7.5 组合使用导航模式
7.6 小结
第8章 iOS常用设计模式
8.1 单例模式
8.2 委托模式
8.3 观察者模式
8.4 MVC 模式
8.5 小结
第9章 iPhone与iPad应用开发的差异
9.1 概述
9.2 iPad专用API
9.3 小结
第10章 iOS分层架构设计
10.1 低耦合企业级系统架构设计
10.2 iOS分层架构设计
10.3 实例:MyNotes应用
10.4 基于同一工程的分层
10.5 基于同一工作空间静态链接库实现的WLSOO模式
10.6 基于同一工作空间框架实现的WFSSS模式
10.7 基于同一工作空间框架实现的WFOOO模式
10.8 基于同一工作空间框架实现的WFSOO模式
10.9 基于同一工作空间框架实现的WFOSS模式
10.10 小结
第11章 数据持久化
11.1 概述
11.2 属性列表
11.3 对象归档
11.4 使用SQLite数据库
11.5 Core Data
11.6 小结
第12章 应用程序设置
12.1 概述
12.2 应用程序设置包
12.3 设置项目种类
12.4 读取设置
12.5 小结
第13章 国际化
13.1 概述
13.2 文本信息国际化
13.3 xib和故事板文件国际化
13.4 资源文件国际化
13.5 小结
第14章 访问联系人
14.1 概述
14.2 读取联系人信息
14.3 写入联系人信息
14.4 高级API
14.5 小结
第二部分 网络篇
第15章 访问Web Service
15.1 概述
15.2 数据交换格式
15.3 REST Web Service
15.4 使用轻量级网络请求框架MKNetworkKit
15.5 反馈网络信息改善用户体验
15.6 小结
第16章 定位服务与地图应用
16.1 定位服务
16.2 使用iOS苹果地图
16.3 使用程序外地图
16.4 小结
第三部分 进阶篇
第17章 iOS中的商业模式
17.1 收费策略
17.2 使用苹果iAd 广告
17.3 使用谷歌AdMob广告
17.4 小结
第18章 找出程序中的bug——调试
18.1 Xcode调试工具
18.2 日志与断言输出
18.3 异常堆栈报告分析
18.4 在iOS设备上调试
18.5 Xcode设备管理工具
18.6 小结
第19章 测试驱动下的iOS应用开发
19.1 测试驱动的软件开发概述
19.2 使用XCTest测试框架
19.3 异步单元测试
19.4 性能测试
19.5 iOS单元测试最佳实践
19.6 小结
第20章 让你的程序“飞”起来——性能优化
20.1 内存优化
20.2 优化资源文件
20.3 延迟加载
20.4 数据持久化的优化
20.5 可重用对象的使用
20.6 并发处理与多核CPU
20.7 小结
第21章 管理好你的程序代码——代码版本控制
21.1 概述
21.2 Git代码版本控制
21.3 GitHub代码托管服务
21.4 小结
第22章 把你的应用放到App Store上
22.1 收官
22.2 发布流程
22.3 常见审核不通过的原因
22.4 小结
第四部分 实战篇
第23章 重构MyNotes应用——iOS网络通信中的设计模式与架构设计
23.1 移动网络通信应用的分层架构设计
23.2 Objective-C版本:在工作空间中添加和配置MKNetworkKit
23.3 基于委托模式实现
23.4 基于观察者模式的通知机制实现
23.5 小结
第24章 iOS敏捷开发项目实战——2016里约热内卢奥运会应用开发及App Store发布
24.1 应用分析与设计
24.2 iOS敏捷开发
24.3 任务1:创建应用工作空间和工程
24.4 任务2:信息系统层与持久层开发
24.5 任务3:业务逻辑层开发
24.6 任务4:表示层开发
24.7 任务5:收工
24.8 小结
北京时间2014年6月2日凌晨1点,苹果公司发布了最新的iOS 8系统。此次,最令人震撼的消息是苹果的新语言Swift。而iOS开发者和感兴趣者立即开始研究和学习Swift语言,我们智捷课堂团队在2014年6月9日推出一套完整的Swift学习视频,接着又与图灵教育合作,推出国内第一本Swift图书——《Swift开发指南》,并且在2014年8月1日推出了《Swift开发指南(修订版)》。在这个大背景下,我们原来编写的《iOS开发指南:从零基础到App Store上架》得到了广大读者的认可,很多读者希望我们将其升级为iOS 8版本,并且能够使用Swift和Objective-C两种语言进行讲解,并比较它们的不同之处。几个月过去了,我们终于在2015年元旦之前将书稿提交给出版社。
内容和组织结构
本书是我们团队编写的iOS系列丛书中的一本,目的是使有Swift或Objective-C基础的程序员通过学习本书,从零基础学习如何在App Store上发布一款应用。全书共4部分。
第一部分为基础篇,共14章内容,介绍了iOS的一些基础知识。
第1章介绍了iOS的开发背景以及本书约定。
第2章使用故事板技术创建了HelloWorld,同时讨论了iOS工程模板、应用的运行机制和生命周期、视图的生命周期等,最后介绍了如何使用API帮助文档和官方案例。
第3章首先学习了视图和控件之间的关系以及应用界面的构建层次,然后介绍了标签、按钮、文本框和导航栏等基本控件。
第4章介绍了iOS 8多分辨率屏幕适配方法,其中涉及的技术主要是Auto Layout和Size Class。此外,还介绍了iOS屏幕的多样性、iOS屏幕布局相关的内容。
第5章首先向大家介绍了数据源协议和委托协议,然后介绍了高级视图:选择器和集合视图。
第6章探讨了表视图的组成、表视图类的构成和表视图的分类,使我们对表视图有了一个整体上的认识。接下来,介绍了如何实现简单表视图和分节表视图,以及表视图中索引、搜索栏和分组的使用,然后学习了如何对表视图单元格进行删除、插入、移动等操作,最后介绍了表视图UI设计模式方面的内容。
第7章讨论了如何判断应用是否需要一个导航功能,并且知道在什么情况下选择平铺导航、标签导航、树形结构导航,或者同时综合使用这3种导航模式。
第8章讨论了iOS开发中4种常用的设计模式,分别为单例模式、委托模式、观察者模式和MVC模式。在介绍每种设计模式时,我们按照问题提出、实现原理、应用案例的结构介绍了其适用情况、实现原理及其用法。
第9章首先介绍了iPhone和iPad设备使用场景上的差异,然后深入介绍了iPad专用API,包括UIPopover- Controller控制器和UISplitViewController控制器。
第10章介绍了iOS平台的分层架构设计技术,归纳了10种分层模式,并且重点实现了8种模式,每一种模式都有其应用场景。
第11章讨论了iOS本地数据持久化的问题。首先分析了数据存取的几种方式以及每种数据存取方式适合什么样的场景,然后分别举例介绍了每种存取方式的实现。
第12章介绍了设置和配置的概念,然后通过对二者差异的探讨,介绍了什么样的项目适合放在设置里,什么样的项目适合放在配置里。
第13章首先介绍了国际化的概念,接下来详细阐述了文本信息、xib及故事板、资源文件的国际化。
第14章首先介绍了访问通讯录所需要的框架,然后介绍了使用AddressBook框架如何读取联系人的信息,具体包括联系人记录、单值多值属性、图片属性的读取;接着介绍了如何使用该框架将联系人信息写入数据库,具体包括联系人的创建、修改和删除;最后介绍了如何使用AddressBook高级API实现选择联系人、显示和修改联系人以及创建联系人的操作。
第二部分为网络篇,共两章,介绍了iOS网络开发的相关知识。
第15章介绍了数据交换格式,其中XML和JSON是主要的方式。这里重点介绍了Web Service的访问以及MKNetworkKit框架。
第16章讨论了iOS中的定位服务技术,包括地理信息编码和反编码查询。之后介绍了iOS苹果地图的使用,包括显示地图、在地图上添加标注以及跟踪用户位置的变化等。最后,介绍了程序外地图的使用,如何调用iOS苹果地图和谷歌Web地图。
第三部分为进阶篇,共6章,介绍了iOS高级内容和商业思考等,相关内容如下所示。
第17章介绍了iOS中的商业模式,其中的收费策略值得广大读者借鉴。此外,我们还介绍了植入广告和应用内购买的API,其中植入广告包括苹果自己的iAd和谷歌的AdMob广告。
第18章首先介绍了调试工具、异常堆栈报告分析,接下来讲解了如何在真机上调试应用,最后分析了Xcode设备管理工具的用法。
第19章首先介绍了测试驱动的iOS开发,接着介绍了单元测试框架XCTest、异步单元测试和性能测试,最后讨论了iOS单元测试最佳实践。
第20章介绍了iOS中的性能优化方法,其中包括内存优化、资源文件优化、延迟加载、持久化优化、使用可重用对象、并发处理与多核CPU等。
第21章介绍了如何使用Git进行代码版本控制,其中包括Git服务器的搭建、Git常用命令和协同开发。此外,还介绍了在Xcode中如何配置和使用Git工具。
第22章探讨了如何在App Store上发布应用,介绍了应用的发布流程以及应用审核不通过的一些常见原因。
第四部分为实战篇,共两章,从无到有地介绍了两个真实的iOS应用:MyNotes应用和2016里约热内卢奥运会应用。
第23章通过重构MyNotes应用,把MyNotes应用的数据由原来的本地存储变成云存储。在这个过程中,我们介绍了移动网络通信应用中分层架构设计的必要性和重要性。我们重点介绍了基于委托模式和观察者模式通知机制实现的分层架构设计。
第24章介绍了完整的iOS应用分析设计、编程、测试和发布过程,其中采用了敏捷开发方法。此外,该项目采用分层架构设计,这对于学习iOS架构是非常重要的。
致谢
在此感谢图灵的王军花责编给我们提供的宝贵意见,感谢智捷iOS课堂团队的李玉超和贾云龙参与内容讨论和审核,感谢赵大羽老师手绘了书中全部草图,并从专业的角度修改书中图片,力求更加真实完美地奉献给广大读者。此外,还要感谢我的家人容忍我的忙碌,以及对我的关心和照顾,使我能抽出这么多时间,投入全部精力专心编写此书。
由于时间仓促,书中难免存在不妥之处,请读者原谅。
关东升
2014年12月于北京
iOS开发指南 从零基础到App Store上架(第3版) 下载 mobi pdf epub txt 电子书 格式 2024
iOS开发指南 从零基础到App Store上架(第3版) 下载 mobi epub pdf 电子书瞧一瞧看一看啊。不得不把它剪掉了,太丑了。难道送货的人都是暴力男吗?
评分这书是超级@,整本书的废话连篇,很简单的东西讲的那么复杂,一个uiview解释的我黑人脸??700多页的书写成这样子,实用例子很少。自己跟着博客学了两个星期,可以跟上公司的需求了,。不匿名。
评分已到货,快递速度快!书的内容慢慢看吧。
评分iOS 10 开发指南
评分发货快,物流服务好,书正版,喜欢在京东买书,就是没赶上大促销的时候,好好学习,多看书,少看手机。希望能看下去
评分开始学习苹果?!2018在一起!
评分特别到位 价格低
评分喜欢在京东上购物。送货快东西有质量保证。
评分很好的一本书,内容很全面,整本书很厚,拿在手里很有份量。学透整本书要花费不少时间。
iOS开发指南 从零基础到App Store上架(第3版) mobi epub pdf txt 电子书 格式下载 2024