第一部分 入门 2
第1章 Swift开发入门 2
1.1 Swift概述 2
1.2 搭建开发环境 3
1.2.1 开发环境的要求 3
1.2.2 系统环境搭建 4
1.2.3 Xcode开发工具搭建 14
1.3 编写第一个程序 16
1.4 Swift代码分析 20
1.4.1 文件构成 20
1.4.2 标识符 21
1.4.3 关键字 22
1.4.4 注释和分号 23
1.4.5 代码的构成 23
1.5 使用帮助文档 24
1.5.1 简介 24
1.5.2 下载安装 24
1.5.3 使用 25
1.5.4 Quick Help 30
1.6 Swift基础语法 32
1.6.1 变量和常量 32
1.6.2 基本数据类型及转换 34
1.6.3 运算符和表达式 42
1.6.4 控制流 52
1.6.5 枚举和结构体 57
1.6.6 宏定义 59
1.6.7 代码规范 60
第2章 Swift与Cocoa 63
2.1 字符串 63
2.1.1 初始化字符串 63
2.1.2 字符串常用方法介绍 64
2.2 集合类型 69
2.2.1 数组 69
2.2.2 字典 72
2.2.3 集合的可变性 75
2.3 解包(if let语句和guard语句) 76
2.3.1 if let语句 76
2.3.2 guard语句 76
2.4 类 78
2.4.1 类和对象 78
2.4.2 属性 79
2.4.3 方法 81
2.4.4 下标脚本 83
2.5 函数和闭包 85
2.5.1 函数 85
2.5.2 闭包 87
2.6 初始化与反初始化 89
2.6.1 初始化 89
2.6.2 反初始化 94
2.7 id兼容性 94
2.8 nil对象 95
2.9 继承 96
2.9.1 继承 96
2.9.2 重写 97
2.10 扩展 98
2.10.1 扩展的定义 98
2.10.2 扩展属性 99
2.10.3 扩展构造器 100
2.10.4 扩展方法 101
2.1O.5 扩展下标脚本 102
2.10.6 扩展嵌套类型 102
2.11 协议 104
2.12 自动引用计数 110
2.12.1 自动引用计数的工作机制 110
2.12.2 类实例之间的循环强引用及解决办法 112
2.12.3 闭包引起的循环强引用及解决办法 116
2.13 多线程 119
2.13.1 NSThread的使用 120
2.13.2 NSOperation和NSOperationQueue的使用 123
2.13.3 GCD的使用 125
2.14 新特性Playground 134
第二部分 实战 141
第3章 UI基础 141
3.1 iOS开发平台限制和方式 141
3.2 iOS SDK介绍 144
3.3 XCode 7.2详细介绍 147
3.3.1 Xcode介绍 147
3.3.2 Interface Builder工具 154
3.3.3 模拟器 164
3.4 Auto Layout和Size Classes 169
3.4.1 Auto Layout 170
3.4.2 Size Classes 180
第4章 UI开发与控件 185
4.1 UIKit概述 185
4.1.1 UIScreen、UIView和UIWindow 185
4.1.2 界面旋转和大小处理 191
4.2 图片资源的使用 194
4.3 UILabel 203
4.4 UITextField 209
4.5 UIButton 219
4.6 UITableView 224
4.6.1 UITableView基本使用 225
4.6.2 UITableView高级使用 238
4.6.3 自定义UITableViewCell 245
4.6.4 创建分组表 250
4.7 UITextView 254
4.8 UISegmentedControl 264
4.9 UISlider 267
4.10 UISwitch和UIStepper 271
4.11 UIActivitylndicatorView和UIProgressView 273
4.12 UIAlertView和UIActionSheet 276
4.13 UIImageView 288
4.14 UIScrollView和UIPageControl 290
4.15 UIWebView 297
4.16 UIDatePicker和UIPickerView 302
4.17 UIToolBar和UISearchBar 310
4.18 UINavigationController 318
4.19 UITabBarController 326
4.20 UISearchController 331
4.21 UICollectionView 337
4.22 UIPageViewController 344
4.23 UIPopoverController 352
4.24 UISplitViewController 357
4.25 U IActivityViewController 360
4.26 MVC模式 365
4.26.1 MVC介绍 365
4.26.2 Xcode实现MVC 366
第5章 读写应用程序数据 374
5.1 NSUserDefaults和对象归档 374
5.2 文件操作 381
5.3 SQ Lite3存储和读取数据 391
5.4 Core Data 410
5.5 iCloud存储 422
第6章 触摸和手势 423
6.1 触摸 423
6.2 手势 426
第7章 多媒体应用 433
7.1 照片选择 433
7.1.1 相册图片选择 435
7.1.2 拍照 440
7.1.3 Photo Kit详解 443
7.2 AV Foundation框架 448
7.2.1 系统声音 448
7.2.2 AV音频播放器 451
7.2.3 AV录音机 456
7.3 Media Player框架 461
第8章 动画 465
8.1 UIView动画 465
8.2 CATransition动画 469
8.3 transform属性实现动画 471
8.4 CABasicAnimation 474
8.5 CAKeyframeAnimation 475
第9章 网络通信 478
9.1 判断网络连接情况 478
9.2 网络请求JSON解析 489
9.3 Get和Post方式 494
9.4 NSURLSession加载数据、下载上传 499
第10章 检测设备朝向和移动 506
10.1 加速计和陀螺仪 506
10.2 判断设备方向和摇晃 509
第11章 定位处理与地图 513
11.1 CoreLocation 513
11.2 MapKit 523
第12章 地址簿、短信、电话、邮件 531
12.1 地址簿 531
12.2 短信、电话、邮件 546
第13章 ioS应用本地化 551
13.1 本地化字符串 551
13.2 本地化图像 557
13.3 本地化Xib文件和应用名称 559
第14章 OC汇编与迁移 561
14.1 Swift和OC互调 563
14.2 将Obiective-C代码迁至Swift 565
第15章 真机调试和发布 567
15.1 真机调试 567
15.2 发布 581
15.2.1 创建证书和描述文件 581
15.2.2 上传提交审核 586
第16章 推送通知 596
16.1 本地推送 596
16.2 服务器推送 600
总结 607