内容简介
前言
第一部分 语言
第1章 C语言的必备知识
编译、语句和注释
选择编译器
变量声明、初始化和数据类型
现代的枚举语法
结构体
指针
数组
运算符
程序流控制和条件语句
函数
指针参数和地址运算符
文件
现代Objective-C语言的函数声明
标准库
更多的预处理指令
数据类型限定符
第2章 面向对象的编程
对象
消息和方法
类和实例
类的方法
实例变量
面向对象的基本原理
第3章 Objective-C语言对象与消息
实例引用即为指针
实例的引用、初始化以及nil
实例引用和赋值
实例引用和内存管理
消息和方法
发送消息
方法声明
嵌套方法调用
不重载
参数列表
无法识别的选择器
类型转换和id类型
消息的数据类型
C语言函数
CFTypeRefs
块对象
第4章 Objective-C类
类和父类
接口和实现
头文件和实现文件
Cocoa自己的头文件
类方法
悄然产生的类对象
第5章 Objective-C实例
实例的创建
现成的实例化
从零开始实例化
基于nib的实例化
多态
self关键字
super关键字
实例变量和存取器
键-值编码
属性
如何写初始化器
第二部分 集成开发环境
第6章 Xcode工程的解析
新建项目
项目窗口
导航面板
工具面板
编辑器
项目文件和它所依赖的环境
目标
构建编译阶段
创建设置
配置
方案和目标设备
从项目到程序
创建设置
属性列表设置
nib文件和storyboard文件
其他资源
代码
框架和SDK
重命名事项
第7章 nib管理
Nib编辑界面体验之旅
Dock
画布
监视器和库
nib加载和文件的所有者
制作和加载一个nib
出口连接
创建出口的更多方法
更多关于出口
连接代码是一种错觉
nib之间的连接
动作连接
其他基于nib实例的初始化
第8章 文档
文档窗口
类文档页
示例代码
其他资源
快速帮助
符号
头文件
互联网资源
第9章 项目的生命周期
设备架构及条件代码
其他模拟器的SDK
本地化
编辑代码
自动完成
代码片段
Fix-it功能和实时语法检查
你的代码导航
调试
原始调试
Xcode调试
调试器选取
单元测试
静态分析器
清理
在模拟器中运行
在设备上运行
配置文件与设备管理
版本控制
Instruments
发布
Ad Hoc发布
应用程序的最后准备
应用程序中的图标
其他图标
启动图像
截图
属性列表设置
提交到App Store
如果许可证过期怎么办?
第三部分 Cocoa
第10章 Cocoa类
子类
类别
分割一个类
类扩展
协议
非正式协议
可选方法
一些Foundation类
有用的结构体和常量
NSString及其相关类
NSDate及其相关类
NSNumber
NSValue
NSData
相等性和比较
NSIndexSet
NSArray和NSMutableArray
NSSet及其相关类
NSDictionary和NSMutableDictionary
NSNull
不可变和可变
属性列表
NSObject探秘
第11章 Cocoa事件
收到事件的原因
子类化
通知
接收一个内置的通知
注销
NSTimer
委托
数据源
动作
响应者链
推迟响应
Nil-targeted动作
术语“First Responder”
被事件淹没
延迟执行
应用程序生存期事件
第12章 访问器和内存管理
键值编码
键值编码和Outlet
键路径和访问器数组
内存管理
Cocoa内存管理的原则
调试内存管理错误
内存管理的金科玉律
ARC的功能及用途
Cocoa对象如何管理内存
自动释放
实例变量的内存管理(非ARC)
实例变量的内存管理(ARC)
保留环和弱引用
非常规内存管理情况
nib加载和内存管理
全局变量的内存管理
指向void上下文信息指针的内存管理
CFTypeRefs的内存管理
属性
属性内存管理策略
属性声明语法
属性访问器合成
动态访问器
第13章 数据通信
模型-视图-控制器
实例的可见性
通过实例化获得可见性
通过关系获得可见性
全局可见性
通知
键-值观察
第四部分 视图
第14章 视图
窗口
子视图和超视图
可见性与不透明度
框架
边框和中心
窗口坐标和屏幕坐标
变换
布局
自动缩放
自动布局
Nib中的约束
布局事件的发生顺序
自动布局和视图变换
第15章 绘图
UIImage和UIImageView
绘图上下文
UIImage绘图
CGImage绘图
为何发生翻转
CIFilter和CIImage
绘制UIView
设置绘图上下文
路径和绘图
裁剪
我的上下文有多大?
渐变
色彩和图案
绘图上下文变换
阴影
点和像素
内容模式
第16章 图层
视图和图层
图层和子层
操纵图层层次结构
定位子层
CAScrollLayer
子层的布局
在图层中绘图
自动重新显示视图的基础图层
调整内容尺寸及定位
图层的自我绘制
变换
深度
阴影、边框和其他
图层效率
图层和键值编码
第17章 动画
绘图、动画和线程
表示图层
UIImageView和UIImag动画
视图动画
动画块
修改动画块
过渡动画
基于Block的视图动画
隐含层动画
动画事务
事务的真相
媒体定时函数
Core Animation
CABasicAnimation类及其继承
使用CABasicAnimation
关键帧动画
使属性可动画处理
编组动画
过渡
动画列表
动画和自动布局
动作
动作的定义
动作搜索
挂钩到动作搜索
非属性动作
发射器图层
CIFilter过渡
第18章 触摸
触摸事件和视图
接收触摸
限制触摸
解释触摸
手势识别器
手势识别器类
多个手势识别器
手势识别器委托
Nib中的手势识别器
触摸传递
触碰测试
初始化触摸事件传递
手势识别器和视图
限制触摸
重新识别
触摸和响应者链
第五部分 界面
第19章 视图控制器
视图控制器层次结构
视图控制器和视图创建
手动视图
普通自动化视图
在单独的Nib中的视图
视图什么时候被加载?
Nib实例化的视图控制器
storyboard初始化的视图控制器
旋转
什么旋转了?
旋转和布局事件
初始朝向
被展示的视图控制器
什么是模态?
被展示的视图动画
展示风格
被展示的视图的旋转
作为对旋转的响应展示一个视图
标签栏控制器
标签栏条目
配置一个标签栏控制器
导航控制器
栏上按钮条目
导航条目
工具栏条目
配置一个导航控制器
分页视图控制器
容器视图控制器
Storyboard
Segue
回溯Segue
storyboard和定制的容器视图控制器
视图控制器生命周期事件
视图控制器内存管理
状态恢复
参与到状态恢复中
恢复ID和恢复类
恢复视图控制器状态
第20章 滚动视图
创建一个滚动视图
滚动
分页
区块
缩放
以编程方式缩放
细节的缩放
滚动视图代理
滚动视图的触摸
滚动视图性能
第21章 表格视图和集合视图
表格视图单元格
内置的单元格样式
注册一个单元格类
定制单元格
表格视图数据
三个大问题
表格视图节
刷新表格视图数据
可变的行高
表格视图选择
表格视图滚动和布局
表格视图状态恢复
表格视图搜索
表格视图编辑
删除表格项
表格项中可编辑的内容
插入表格项
重新排列表格项
动态表格内容
表格视图菜单
集合视图
第22章 弹出框和分割视图
配置和显示一个弹出框
管理一个弹出框
关闭一个弹出框
弹出框和被展示视图
弹出框Segue
自动弹出框
分隔视图
第23章 文本
带属性的字符串
UILabel
UITextField
弹出和关闭键盘
键盘覆盖文本域
配置键盘
文本域代理和控制事件消息
文本字段菜单
UITextView
核心文本
UITextInput
第24章 Web视图
加载Web视图内容
Web视图状态恢复
和一个Web视图通信
第25章 控件和其他视图
UIActivityIndicatorView
UIProgressView
UIPickerView
UISearchBar
UIControl
在内部触摸和在外部触摸
UISwitch
UIStepper
UIPageControl
UIDatePicker
UISlider
UISegmentedControl
UIButton
自定义控件
栏
UINavigationBar
风景iPhone栏计量
UIToolbar
UITabBar
外观代理
第26章 模态对话框
警告视图
动作表单
对话框的替代选择
本地通知
活动视图
第六部分 框架
第27章 音频
系统声音
音频会话
中断
切换音频通道
音频播放器
声音的遥控
声音的后台播放
更多有关声音的主题
第28章 视频
MPMoviePlayerController
MPMoviePlayerViewController
UIVideoEditorController
AV Foundation视频介绍
第29章 音乐库
浏览音乐库
音乐播放器
音乐选择器
第30章 图片库和拍摄图像
UIImagePickerController
从图片库中选取
使用照相机
使用AV Foundation拍摄图像
Assets Library框架
第31章 地址簿
地址簿数据库
地址簿的界面
ABPeoplePickerNavigationController
ABPersonViewController
ABNewPersonViewController
ABUnknownPersonViewController
第32章 日历
日历数据库
日历界面
第33章 邮件和消息
邮件消息
文本消息
Twitter帖子
第34章 地图
显示一张地图
注释
覆盖图
地图工具包和当前位置
地理编码
与Maps应用程序的通信
第35章 传感器
位置
朝向
加速度和姿态
摇动事件
单纯的加速度
陀螺仪
第七部分 其他主题
第36章 持久性存储
沙箱
以可视方式检查沙箱
基本的文件操作
文件的存取
用户默认值
文件的共享
文档类型
分发文档
文档架构
iCloud
XML
SQLite
Core Data框架
图像文件格式
第37章 网络基础
HTTP请求
Bonjour
推送通知
其他网络话题
第38章 线程
主线程
并发到底是什么?
为什么线程很难
三种实现线程的方法
手动线程
NSOperation
Grand Central Dispatch
线程和应用程序的后台处理
第39章 撤销
撤销管理器
撤销的界面
撤销的架构
第40章 结束语