第一部分 入门 2
第1章 Swift开发入门 2
1.1 Swift概述 2
1.2 搭建开发环境 3
1.2.1 开发环境的要求 3
1.2.2 系统环境搭建 3
1.2.3 Xcode开发工具搭建 14
1.3 编写第一个程序 16
1.4 Swift代码分析 22
1.4.1 文件构成 22
1.4.2 标识符 23
1.4.3 关键字 24
1.4.4 注释和分号 25
1.4.5 代码的构成 25
1.5 使用帮助文档 26
1.5.1 简介 26
1.5.2 下载安装 26
1.5.3 使用 27
1.5.4 Quick Help 32
1.6 Swift基础语法 33
1.6.1 变量和常量 33
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 62
2.1 字符串 62
2.1.1 初始化字符串 62
2.1.2 字符串常用方法介绍 63
2.2 集合类型 68
2.2.1 数组 68
2.2.2 字典 71
2.2.3 集合的可变性 74
2.3 解包 75
2.4 类 75
2.4.1 类和对象 75
2.4.2 属性 76
2.4.3 方法 78
2.4.4 下标脚本 80
2.5 函数和闭包 81
2.5.1 函数 82
2.5.2 闭包 84
2.6 初始化与反初始化 86
2.7 id兼容性 91
2.8 nil对象 92
2.9 继承 93
2.9.1 继承 93
2.9.2 重写 94
2.10 扩展 95
2.10.1 扩展的定义 95
2.10.2 扩展属性 96
2.10.3 扩展构造器 97
2.10.4 扩展方法 97
2.10.5 扩展下标脚本 98
2.10.6 扩展嵌套类型 99
2.11 协议 100
2.12 自动引用计数(ARC) 107
2.12.1 自动引用计数的工作机制 107
2.12.2 类实例之间的循环强引用及解决办法 108
2.12.3 闭包引起的循环强引用及解决办法 113
2.13 多线程 116
2.13.1 NSThread的使用 116
2.13.2 NSOperation和NSOperationQueue的使用 120
2.13.3 Grand Central Dispatch(GCD)的使用 121
2.14 新特性Playground 130
第二部分 实战 138
第3章 UI基础 138
3.1 iOS开发平台限制和方式 138
3.2 iOS SDK介绍 141
3.3 Xcode 6详细介绍 144
3.3.1 Xcode介绍 144
3.3.2 Interface Builder工具 151
3.3.3 模拟器 160
3.4 Auto Layout和Size Classes 166
3.4.1 Auto Layout 166
3.4.2 Size Classes 176
第4章 UI开发与控件 182
4.1 窗口与视图 182
4.1.1 UIScreen、UIVVindow和UIView 182
4.1.2 界面旋转和大小处理 188
4.2 图片资源的使用 191
4.3 UILabel 201
4.4 UITextField 206
4.5 UIButton 216
4.6 UITableView 221
4.6.1 UITableView基本使用 221
4.6.2 UITableView高级使用 233
4.6.3 自定义UITableViewCell 240
4.6.4 创建分组表 244
4.7 UITextView 249
4.8 UISegmentedControl 259
4.9 UISlider 262
4.10 UISwitch和UIStepper 265
4.11 UIActiVityIndicatorView和UIProg ressView 266
4.12 UIAlertView和UIActionSheet 269
4.13 UIImageView 275
4.14 UIScrollView和UIPageControl 278
4.15 UIWebView 284
4.16 UIDatePicker和UIPickerView 290
4.17 UIToolBar和UISearchBar 298
4.18 UINavigationController 306
4.19 UITabBarController 314
4.20 MVC模式 319
4.20.1 MVC介绍 319
4.20.2 Xcode实现MVC 320
第5章 读写应用程序数据 328
5.1 NSUserDefaults和对象归档 328
5.2 文件操作 335
5.3 SQLite3存储和读取数据 343
5.4 Core Data 362
5.5 iCloud存储 373
第6章 触摸和手势 375
6.1 触摸 375
6.2 手势(UIGestureRecognizer) 378
第7章 多媒体应用 385
7.1 照片选择 385
7.1.1 相册图片选择 387
7.1.2 拍照 391
7.2 AV Foundation框架 393
7.2.1 系统声音 393
7.2.2 AV音频播放器 396
7.2.3 AV录音机 401
7.3 Media Player框架 405
第8章 动画 410
8.1 UIView动画 410
8.2 CATransition动画 414
8.3 transform属性实现动画 416
8.4 CABasicAnimation 419
8.5 CAKeyframeAnimation 420
第9章 网络通信 423
9.1 判断网络连接情况 423
9.2 网络请求JSON解析 426
9.3 Get、Post方式 433
9.4 NSURLSession加载数据、下载上传 438
第10章 检测设备朝向和移动 444
1O.1 加速计和陀螺仪 444
10.2 判断设备方向和摇晃 447
第11章 定位处理与地图 451
11.1 CoreLocation 451
11.2 MapKit 461
第12章 地址簿、短信、电话、邮件 469
12.1 地址簿 469
12.2 短信、电话、邮件 483
第13章 iOS应用本地化 488
13.1 本地化字符串 488
13.2 本地化图像 494
13.3 本地化Xib文件和应用名称 496
第14章 OC汇编与迁移 498
14.1 Swift、OC互调 500
14.2 将Objective-C代码迁至Swift 502
第15章 真机调试和发布 504
15.1 真机调试 504
15.2 发布 519
15.2.1 创建证书和描述文件 519
15.2.2 上传提交审核 524
第16章 推送通知 534
16.1 本地推送 534
16.2 服务器推送 538
总结 546