初入江湖——基础篇 2
第1章 小试牛刀——Xcode初体验 2
1.1 下载Xcode 2
1.2 苹果开发者计划 3
1.3 欢迎界面 4
1.4 认识Playground 5
1.5 创建项目 7
1.6 Hello world 9
1.7 生成并运行应用 10
1.8 移除项目 10
第2章 纵观全局——布局探索 12
2.1 工作区 12
2.2 工具栏 13
2.3 导航器区域 14
2.3.1 项目导航器 14
2.3.2 符号导航器 15
2.3.3 搜索导航器 16
2.3.4 事件导航器 17
2.3.5 测试导航器 17
2.3.6 调试导航器 17
2.3.7 断点导航器 18
2.3.8 日志导航器 18
2.4 跳转栏 19
2.5 编辑器区域 22
2.5.1 标准编辑器 22
2.5.2 辅助编辑器 22
2.5.3 版本编辑器 24
2.6 调试区域 25
2.7 工具区域 26
2.8 标签页 27
第3章 藏经阁——项目管理 28
3.1 文件管理 29
3.1.1 创建文件 29
3.1.2 分组 34
3.1.3 删除及重命名文件 34
3.2 对象管理 35
3.2.1 添加对象 35
3.2.2 对象设置 36
3.2.3 对象联系 44
3.2.4 删除对象 44
3.3 资源管理 45
3.3.1 创建Asset Catalog 45
3.3.2 添加图标 46
3.3.3 添加加载界面 48
3.3.4 管理图片集 48
3.3.5 移除图片集 49
外功修炼——设计篇 52
第4章 风水宝地——界面生成器 52
4.1 简介 52
4.2 界面生成器 53
4.2.1 画布 54
4.2.2 对象窗口 55
4.2.3 检查器 56
4.3 Xib文件 57
4.4 故事板 58
4.4.1 添加新的场景 58
4.4.2 设置初始场景 59
4.4.3 添加页面间的转场 59
4.5 配置界面 61
4.5.1 添加对象和媒体 61
4.5.2 调整对象 61
4.5.3 配置属性 63
第5章 万物莫不有规矩——自动布局 65
5.1 没有规矩,不成方圆 65
5.2 约束种类 66
5.3 添加约束 68
5.4 查看约束 69
5.5 所谓“空白” 71
5.6 修正约束错误 71
第6章 万法归一——屏幕分类 73
6.1 为了适配,也是蛮拼的 74
6.2 激活这个技能 75
6.3 变更视图 76
6.3.1 改变约束的值 77
6.3.2 启用、禁用元素 78
6.3.3 变更字体 78
6.4 资源目录 79
内功修炼——开发篇 82
第7章 渐入佳境——高级编辑 82
7.1 在设计和开发之间搭桥 82
7.1.1 连接代码和界面 83
7.1.2 输出口 85
7.1.3 动作 89
7.2 语法感知 90
7.2.1 语法高亮 90
7.2.2 聚焦和折叠代码 91
7.2.3 自动填充 92
7.3 查看数据定义 92
7.4 全局修改数据 93
7.5 重构和迁移 94
7.5.1 重构操作 94
7.5.2 迁移操作 99
7.6 建立工作区 105
7.7 搜索 106
7.7.1 单文件搜索 106
7.7.2 搜索导航器 107
7.7.3 快速打开 111
7.8 国际化与本地化 113
7.8.1 工作机制 113
7.8.2 国际化支持 113
7.8.3 字符串本地化 115
7.8.4 图像本地化 118
第8章 气沉丹田——持久化存储编辑器 119
8.1 属性列表 119
8.1.1 属性列表简介 120
8.1.2 项目属性列表 120
8.1.3 创建属性列表 121
8.2 Core Data模型 122
8.2.1 相关术语介绍 123
8.2.2 数据建模编辑器 124
第9章 前人栽树——共享代码 135
9.1 共享代码机制 135
9.1.1 库 135
9.1.2 框架 136
9.1.3 包 137
9.2 使用现有框架 137
9.2.1 使用系统框架 138
9.2.2 使用第三方框架 139
9.2.3 使用CocoaPods管理框架 140
9.3 创建框架 144
9.3.1 创建静态库 145
9.3.2 创建动态库 147
9.3.3 创建框架 149
第10章 武功是怎样练成的——编译系统 150
10.1 编译方案 150
10.1.1 管理方案 151
10.1.2 编辑方案 154
10.2 运行目标 165
第11章 谨防走火入魔——调试 168
11.1 语法错误 168
11.2 编译时错误 169
11.3 静态分析 170
11.3.1 使用静态分析器 170
11.3.2 分析所解决的问题 172
11.4 断点调试 173
11.4.1 添加断点 174
11.4.2 断点导航器 175
11.4.3 断点设置 176
11.4.4 断点类型 180
11.5 调试区域 182
11.5.1 调试工具栏 183
11.5.2 变量视图 184
11.5.3 控制台 185
11.5.4 查看线程 185
11.5.5 查看内存信息 185
11.5.6 模拟位置 186
11.5.7 变量设置 187
11.6 调试导航器 189
11.6.1 调试仪器 190
11.6.2 线程和队列 198
11.7 快速查看 198
11.7.1 查看变量 199
11.7.2 为自定义类启用快速查看 199
11.7.3 自定义快速查看支持的返回类型 200
11.8 LLDB调试 205
11.8.1 打印对象和值 206
11.8.2 执行表达式 208
11.8.3 控制程序执行 208
11.8.4 获取帮助 209
11.9 视图调试 209
11.9.1 启动视图调试 209
11.9.2 视图调试功能 210
11.10 Instruments 214
11.10.1 性能 214
11.10.2 打开Instruments 215
11.10.3 Instruments模板 216
11.10.4 运行 Instruments 217
11.10.5 Instruments实例 220
第12章 功力精进的途径——单元测试 222
12.1 测试基础概念 223
12.2 测试导航栏 224
12.2.1 添加测试对象和测试类 224
12.2.2 运行测试 225
12.3 功能测试 226
12.3.1 基础测试 227
12.3.2 布尔测试 227
12.3.3 相等测试 227
12.3.4 空值测试 228
12.3.5 无条件失败 228
12.3.6 测试实例 228
12.4 性能测试 229
12.5 测试调试 231
12.5.1 测试调试之前 231
12.5.2 测试调试工具 232
第13章 返老还童——版本管理 234
13.1 工程快照 234
13.1.1 创建快照 235
13.1.2 管理快照 235
13.1.3 从快照中恢复 235
13.2 使用Git 237
13.2.1 Git简介 238
13.2.2 连接代码托管库 238
13.2.3 提交更改 239
13.2.4 查看更改 239
13.2.5 撤销更改 240
13.2.6 分支 240
13.2.7 下载别人的版本 241
第14章 实战是提升实力的唯一真理 242
14.1 基础知识 242
14.2 配置Xcode 244
14.3 启用真机调试 245
14.4 把应用提交到App Store 247
随身锦囊——附录 252
附录A Xcode 小技巧 252
附录B 不二法门——Xcode工具箱 280
附录C 武术套路——模板 292
附录D 你不会孤独求败——求助渠道 345