《iOS应用开发最佳实践》
基本信息
作者: 王浩
出版社:电子工业出版社
ISBN:9787121207679
上架时间:2013-7-22
出版日期:2013 年8月
开本:16开
页码:552
版次:1-1
所属分类:计算机 > 软件与程序设计 > 移动开发
内容简介
计算机书籍
《ios应用开发最佳实践》对ios应用开发的方方面面进行了说明。全书分为20章,系统地介绍了创建第1个iphone应用、objective-c语言开发基础、设计iphone应用、导航栏视图控制器和标签栏视图控制器、属性字符串、ios控件应用入门、ios控件应用进阶、应用及视图生命周期、ios绘图和自动旋转、ios自动布局、手势识别技术、ios高级控件、passbook、集合视图、ios多线程编程、数据持久化、core location定位和map kit、core motion动作管理器,以及icloud云服务。全书的讲解通俗易懂,循序渐进,案例丰富,帮助读者快速掌握ios开发技巧并能够做到举一反三、融会贯通。
《ios应用开发最佳实践》适合有一定.net、java等开发经验的开发人员、需要为企业内部用户开发ios应用的it人员、希望接触和了解ios应用开发的人员,以及希望了解ios应用的各种特性的人员阅读和参考。
目录
《ios应用开发最佳实践》
第1章 创建第1个iphone应用1
1.1 iphone应用开发的背景1
1.2 做好准备工作5
1.3 下载开发工具7
1.4 了解ios运行环境8
1.5 ios应用开发的注意点9
1.6 创建第1个hello world iphone应用10
1.6.1 通过xcode创建并运行iphone项目10
1.6.2 了解iphone应用的基本运行机理15
1.6.3 丰富你的iphone应用18
1.6.4 为应用添加桌面图标21
1.6.5 关于iphone 5应用的补充说明24
1.6.6 老版本应用的兼容性问题24
1.7 小结24
第2章 objective-c语言开发基础25
2.1 objective-c的hello world程序26
2.2 创建一个objective-c类29
2.2.1 通过xcode创建person类29
2.2.2 对person类的解读32
.2.2.3 类的构造方法36
2.2.4 继承和多态38
2.2.5 选择器(selector)43
2.3 常用类介绍45
2.3.1 nsstring类45
2.3.2 nsarray类48
2.3.3 nsdictionary类51
2.4 属性(property)53
2.4.1 设置属性53
2.4.2 以person类为例53
2.4.3 @synthesize指令54
2.4.4 xcode 4.5以后版本对@synthesize指令的处理56
2.4.5 属性特性56
2.5 内存管理58
2.6 类别(class category)59
2.7 类扩展(class extension)62
2.8 协议63
2.8.1 声明协议63
2.8.2 使用协议63
2.8.3 更多协议的特性64
2.9 小结64
第3章 设计iphone应用——从零开始65
3.1 mvc架构65
3.2 基于nib文件开发单视图交互性的应用67
3.1.1 创建交互性应用视图67
3.1.2 连接视图和视图控制器72
3.1.3 创建事件处理代码76
3.3 创建多视图交互应用78
3.2.1 创建空应用79
3.2.2 添加主视图81
3.2.3 添加子视图85
3.2.4 进一步完善应用86
3.4 小结91
第4章 设计iphone应用——使用故事板92
4.1 故事板和segue92
4.2 完整的mvc应用94
4.2.1 创建视图框架94
4.2.2 添加unwind segue98
4.2.3 通过unwind segue传递数据100
4.2.4 准备武侠故事模型103
4.2.5 通过segue传递数据105
4.2.6 完善详情视图并运行应用106
4.2.7 继续完善应用——动态创建控件110
4.2.8 创建自适应文字长度的标签控件112
4.3 容器视图(container view)113
4.3.1 容器视图的基本知识113
4.3.2 容器视图的简单例子114
4.3.3 实现子视图控制器之间的互动(一)120
4.3.4 实现子视图控制器之间的互动(二)122
4.4 小结125
第5章 导航栏视图控制器和标签栏视图控制器126
5.1 导航栏视图控制器介绍127
5.1.1 认识导航栏视图控制器127
5.1.2 认识master-detail项目模板128
5.1.3 搭建导航栏视图控制器项目131
5.1.4 通过代码创建导航栏视图控制器134
5.2 标签栏视图控制器介绍135
5.2.1 认识标签栏视图控制器135
5.2.2 认识tabbed application项目模板136
5.2.3 搭建标签栏视图控制器项目141
5.2.4 通过代码创建标签栏视图控制器144
5.3 集成导航栏视图控制器与标签栏视图控制器145
5.4 小结147
第6章 属性字符串148
6.1 通过属性字符串格式化文本148
6.1.1 通过属性格式配置标签文本150
6.1.2 属性文本支持的控件151
6.2 通过代码设置属性字符串151
6.2.1 了解nsattributedstring类152
6.2.2 设置字间距和字体背景色154
6.2.3 设置阴影以及下画线效果155
6.2.4 为字符串不同部分设置不同效果156
6.2.5 设置段落效果157
6.2.6 可以设置的属性字符串样式列表160
6.3 小结161
第7章 ios控件
应用入门162
7.1 ios控件简介162
7.2 分段控件、文本框控件、滑块控件163
7.2.1 分段控件介绍164
7.2.2 文本框控件介绍166
7.2.3 滑块控件介绍169
7.2.4 创建展示项目171
7.2.5 在输入完成后关闭键盘(一)176
7.2.6 在输入完成后关闭键盘(二)177
7.2.7 点击视图退出键盘179
7.3 web视图和活动指示器控件180
7.3.1 web视图控件介绍180
7.3.2 活动指示器控件介绍182
7.3.3 创建展示项目184
7.4 图像视图控件189
7.4.1 图像视图控件介绍190
7.4.2 创建展示项目190
7.5 小结193
第8章 ios控件
应用进阶195
8.1 进度视图、开关和计步器控件195
8.1.1 进度视图控件介绍195
8.1.2 开关控件介绍197
8.1.3 计步器控件介绍198
8.1.4 创建展示项目199
8.2 警告视图、动作表单、活动视图控制器202
8.2.1 警告视图介绍203
8.2.2 警告视图示例204
8.2.3 动作表单介绍(邮件视图控制器)208
8.2.4 动作表单示例210
8.2.5 活动视图控制器介绍215
8.2.6 活动视图控制器示例216
8.3 日期选择器(工具栏控件)218
8.3.1 日期选择器控件介绍218
8.3.2 创建展示项目219
8.4 自定义选择器226
8.5 自定义选择器控件介绍226
8.5.1 数据源协议——uipicker-viewdatasource227
8.5.2 代理协议——uipicker-viewdelegate228
8.5.3 创建plist文件数据源229
8.5.4 读取plist文件的方法233
8.5.5 单轮选择器示例233
8.5.6 多轮选择器示例237
8.6 小结241
第9章 应用及视图生命周期242
9.1 应用的生命周期242
9.1.1 应用的不同状态243
9.1.2 通过代码模拟观察应用生命周期245
9.1.3 应用程序的加载247
9.1.4 响应中断248
9.1.5 进入后台运行249
9.1.6 返回前台运行250
9.1.7 关于main函数251
9.2 视图生命周期252
9.2.1 视图生命周期简介252
9.2.2 视图生命周期中的主要方法253
9.2.3 loadview方法253
9.2.4 与应用生命周期的互动254
9.3 小结256
第10章 ios绘图和自动旋转257
10.1 ios绘图257
10.1.1 视图和坐标体系258
10.1.2 图形颜色处理260
10.1.3 在上下文中绘制图形261
10.1.4 手工绘图应用示例264
10.2 自动旋转270
10.2.1 旋转屏幕271
10.2.2 使用自动尺寸处理旋转273
10.2.3 通过代码方式处理旋转276
10.3 小结280
第11章 ios自动布局281
11.1 通过约束处理屏幕旋转282
11.1.1 约束应用示例282
11.1.2 约束应用详解285
11.1.3 不同的约束类型——pin286
11.1.4 不同的约束类型——align290
11.1.5 视图之间约束的互相作用293
11.2 通过代码创建约束293
11.2.1 nslayoutconstraint类293
11.2.2 通过代码创建约束:指定控件位置295
11.2.3 为控件指定高度、宽度297
11.2.4 处理多个控件299
11.3 可视化格式语言302
11.3.1 constraintswithvisual- format:方法302
11.3.2 可视化格式语言的具体例子303
11.3.3 可视化格式语言的深入304
11.4 小结306
第12章 手势识别技术307
12.1 自定义手势识别307
12.2 使用自动手势识别器309
12.2.1 自动手势识别开发原理309
12.2.2 离散性手势与连续性手势313
12.2.3 如何在模拟器中测试手势315
12.2.4 识别轻扫手势316
12.2.5 识别轻击手势319
12.2.6 识别捏合手势320
12.2.7 创建自定义手势识别器323
12.3 小结323
第13章 ios高级控件324
13.1 滚动视图控件324
13.1.1 使用滚动视图示例325
13.1.2 在滚动视图中支持图片放大和缩小328
13.1.3 滚动查看多个图片330
13.1.4 关于滚动视图控件的更多知识333
13.2 页面指示器控件334
13.2.1 页面指示器控件示例335
13.2.2 完善代码:允许用户点击页面指示器翻页339
13.3 表格视图340
13.3.1 表格样式341
13.3.2 单元格样式342
13.3.3 表格视图元素344
13.3.4 数据源协议uitable- viewdatasource346
13.3.5 代理协议uitable- viewdelegate348
13.3.6 表格视图示例348
13.3.7 创建自定义的表格单元格355
13.3.8 分段示例364
13.3.9 索引示例368
13.3.10 实现搜索栏369
13.4 小结376
第14章 passbook377
14.1 passbook初览378
14.2 通过passsource.com创建凭证379
14.3 凭证的工作原理382
14.4 创建第1个凭证383
14.4.1 找到开发者团队标识(teamidentifier)383
14.4.2 创建凭证类型标识(passtype-identifier)383
14.4.3 创建hello world凭证388
14.5 凭证文件包的构成395
14.6 pass.json文件396
14.6.1 顶级键的说明397
14.6.2 次级键的说明398
14.7 打折券凭证详解400
14.8 登机牌凭证详解402
14.9 通过passkit框架操作凭证406
14.9.1 passkit库介绍406
14.9.2 passkit示例407
14.10 小结410
第15章 集合视图 (uicollection-view)411
15.1 集合视图基础412
15.1.1 数据源协议(uicollectionview-datasource)413
15.1.2 代理协议(uicollectionview-delegate)414
15.1.3 创建第1个集合视图应用414
15.1.4 集合视图布局(uicollectionview-layout)422
15.1.5 认识补充视图(supplementary view)427
15.2 自定义集合视图单元格429
15.3 小结431
第16章 ios多线程编程432
16.1 什么是多线程432
16.2 ios的多线程知识433
16.2.1 派遣队列dispatch queue434
16.2.2 程序块block440
16.2.3 在视图中通过gcd实现异步操作444
16.3 异步执行代码的其他方法447
16.3.1 通过performselector来异步执行447
16.3.2 通过nstimer来异步执行449
16.4 后台运行应用449
16.5 小结452
第17章 数据持久化453
17.1 通过nsuserdefaults进行数据持久化453
17.1.1 创建持久化联系人信息应用454
17.1.2 保存用户输入的数据456
17.1.3 读取用户保存的数据458
17.2 应用程序沙盒460
17.3 通过属性列表持久化数据463
17.4 归档对象465
17.4.1 实现nscoding协议466
17.4.2 归档对象或取消归档467
17.5 使用sqlite数据库469
17.5.1 操作数据库的sqlite函数469
17.5.2 使用sqlite 3的视图应用473
17.6 使用core data480
17.6.1 使用core data480
17.6.2 通过代码访问数据模型486
17.6.3 获得nsmanaged- objectcontext对象489
17.6.4 如何插入、查询、更新以及删除数据490
17.7 小结493
第18章 core location定位和map kit494
18.1 core location框架494
18.1.1 位置管理器监控位置变化496
18.1.2 位置管理器监控方向变化497
18.1.3 使用位置管理器监控位置的例子498
18.2 map kit502
18.2.1 创建一个地图应用502
18.2.2 自定义地图显示位置及范围503
18.2.3 使用大头针标注地理位置506
18.2.4 了解和使用mkannotationview509
18.3 小结513
第19章 core motion动作管理器514
19.1 动作管理器类515
19.1.1 检测加速计数据517
19.1.2 检测旋转数据522
19.1.3 检测组合信息523
19.2 捕获动作事件524
19.3 小结524
第20章 icloud云服务526
20.1 了解icloud云服务526
20.2 云存储键/值对529
20.3 云存储文档532
20.3.1 子类化uidocument532
20.3.2 如何定位ubiquity container534
20.3.3 如何通过nsmetadataquery查询数据535
20.3.4 文档的生命周期536
20.4 小结537