前言 1
第1章 Cocoa开发工具 9
Mac和iOS开发程序 9
在Xcode漫游 11
开发一个简单的Objective-C应用程序 21
使用iOS模拟器 25
第2章 使用Objective-C的面向对象编程 27
面向对象编程 27
内存管理 38
NSObject的生命周期 40
第3章 Foundation 42
可变和不可变对象 42
数组 48
字典 52
NSValue和NSNumber 53
Cocoa中的设计模式 58
第4章 OS X和iOS应用程序 61
什么是应用程序 61
应用程序的生命周期 66
应用程序沙盒 72
第5章 图形用户界面 76
OS X和iOS中的界面 76
MVC和应用程序设计 77
Nib文件 77
构造一个界面 83
使用nib和约束构建一个应用 85
UI Dynamics 87
为iOS设计界面 90
第6章 块和操作队列 95
块 95
操作队列的并发性 101
小结 103
第7章 在视图中绘制图形 107
绘图原理 107
像素网格 109
在视图中绘图 111
构建自定义视图 113
第8章 音频和视频 133
AV Foundation 133
用AVPlayer播放视频 134
用AVAudioPlayer播放声音 141
使用照片库 143
第9章 模型对象和数据存储 150
Key-Value Coding 151
Key-Value Observing 152
用NSNotification通知 154
用沙箱工作 163
第10章 Cocoa绑定 166
绑定视图到模型 166
一个单独的绑定App 167
绑定控制器 169
数组和对象控制器 171
一个更复杂的绑定程序 172
第11章 表格视图和集合视图 178
数据源和委托 178
表格视图 179
iOS下的UITableView 179
OS X上的NSTableView 187
集合视图 192
第12章 基于文档的应用程序 196
NSDocument和UIDocument类 197
MVC下的文档对象 197
文档种类 197
文档规则 198
OS X下基于文档的应用程序 198
iOS下基于文档的应用程序 206
第13章 网络 214
连接 214
建立一个网络版的应用程序 218
Bonjour服务发现 220
Multipeer Connectivity 222
第14章 现实世界的工作 226
使用Location 226
地理编码 233
区域监测和iBeacons 235
位置与隐私 237
地图 237
设备运动 240
打印文档 245
游戏控制器 248
App Nap 250
第15章 事件工具包 252
理解事件 252
使用事件 255
建立事件应用 256
用户隐私权 261
第16章 工具和调试器 262
启动仪器 262
用仪器修复问题 268
保持循环和泄漏 272
使用调试器 275
第17章 共享与通知 281
共享 281
通知 287
第18章 非标准应用 295
命令行工具 295
偏好设置面板 297
状态项 300
多窗口的iOS应用 302
第19章 使用文本 305
国际化和本地化 305
用NSFomatter格式化数据 308
用NSDataDetector检测数据 310
文本工具箱 313
第20章 iCloud 315
iCloud存储什么 315
iCloud设置 316
测试iCloud的工作情况 318
存储设置 318
iCloud存储 323