iOS编程(第4版)
前言 xiii
本书适合哪些读者 xiii
第4版有哪些更新 xiii
教学理念 xiv
如何使用本书 xv
本书是如何组织的 xv
代码风格 xvii
版式说明 xvii
开发所需的硬件与软件 xviii
第1章 个简单的iOS应用
查看完整
本书适合哪些读者 xiii
第4版有哪些更新 xiii
教学理念 xiv
如何使用本书 xv
本书是如何组织的 xv
代码风格 xvii
版式说明 xvii
开发所需的硬件与软件 xviii
第1章 个简单的iOS应用
查看完整
Christian Keur是Big Nerd Ranch的高级讲师和软件工程师,负责编写Big Nerd Ranch的“iOS新手培训课程”教材。该教材广受好评,是本书的原型。Christian毕业于美国佐治亚理工学院计算机科学系,目前居住在亚特兰大。 Aaron Hillegass是Big Nerd Ranch的创始人之一,曾就职于NeXT公司和Apple公司,他拥有近20年的Objective-C、Cocoa、iOS开发与教学经验。Aaron与他人合著了《Mac OS X编程》和《Objectibe-C编程》。 Joe Conway曾参与编写了“iOS新手培训课程”教材。他近创办了stable/kernel 公司,开发高质量的移动应用。
《iOS编程》荣获Jolt生产力大奖。第4版更新了iOS7和Xcode5的内容。全书涵盖了开发iOS应用的方方面面。从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instrumen tst等。如果读者刚接触iOS编程,阅读本书前两章可以快速入门。如果读者已经有iOS编程经验,阅读本书可以拾遗补缺。
前言 xiii
本书适合哪些读者 xiii
第4版有哪些更新 xiii
教学理念 xiv
如何使用本书 xv
本书是如何组织的 xv
代码风格 xvii
版式说明 xvii
开发所需的硬件与软件 xviii
第1章 个简单的iOS应用
1.1 创建Xcode项目
1.2 模型-视图-控制器
1.3 设计Quiz
1.4 创建视图控制器
1.5 创建界面
1.6 创建关联
1.7 创建模型对象
1.8 大功告成
1.7 在模拟器上运行应用
1.9 安装应用
1.9 应用图标
1.10 启动图片
第2章 Objective-C
2.1 对象
2.2 使用对象
2.3 编写命令行工具RandomItems
2.4 创建Objective-C类的子类
2.5 深入学习NSArray与NSMutableArray
2.6 异常与未知选择器
2.7 练习
2.8 初级练习:查找问题
2.9 中级练习:另一个初始化方法
2.10 高级练习:另一个类
2.11 关于深入学习部分
2.12 深入学习:如何为类命名
2.13 深入学习:#import和@import
第3章 通过ARC管理内存
3.1 栈
3.2 堆
3.3 指针变量与对象所有权
3.4 强引用与弱引用
3.5 属性
3.6 深入学习:属性合成
3.7 深入学习:Autorelease池与ARC历史
第4章 视图与视图层次结构
4.1 视图基础
4.2 视图层次结构
4.3 创建UIView子类
4.4 在drawRect:方法中自定义绘图
4.5 关于开发者文档
4.6 初级练习:绘制图像
4.7 深入学习:Core Graphics
4.8 高级练习:阴影和渐变
第5章 视图:重绘与UIScrollView
5.1 运行循环和重绘视图
5.2 类扩展
5.3 使用UIScrollView
第6章 视图控制器
6.1 创建UIViewController子类
6.2 另一个视图控制器
6.3 UITabBarController
6.4 视图控制器的初始化方法
6.5 添加本地通知
6.6 加载和显示视图
6.7 与视图控制器及其视图进行交互
6.8 初级练习:增加一个标签项
6.9 中级练习:控制逻辑
6.10 深入学习:键值编码
6.11 深入学习:Retina显示屏
第7章 委托与文本输入
7.1 文本框(UITextField)
7.2 委托
7.3 协议
7.4 向屏幕中添加UILabel对象
7.5 运动效果
7.6 使用调试器
7.7 深入学习:main()与UIApplication
7.8 中级练习:捏合-缩放
第8章 UITableView与UITableViewController
8.1 编写Homepwner应用
8.2 UITableViewController
8.3 UITableView数据源
8.4 UITableViewCell对象
8.5 代码片段库
8.6 初级练习:表格段
8.7 中级练习:固定行
8.8 高级练习:修改UITableView对象的外观
第9章 编辑UITableView
9.1 编辑模式
9.2 增加行
9.3 删除行
9.4 移动行
9.5 初级练习:更改"删除"按钮的标题
9.6 中级练习:禁止移动某个表格行
9.7 高级练习:彻底禁止移动某个表格行
第10章 UINavigationController
10.1 UINavigationController对象
10.2 额外的视图控制器
10.3 UINavigationController的导航功能
10.4 UINavigationBar
10.5 初级练习:显示数字键盘
10.6 中级练习:关闭数字键盘
10.7 高级练习:压入更多视图控制器
第11章 相机
11.1 通过UIImageView对象显示照片
11.2 通过UIImagePickerController拍摄照片
11.3 创建BNRImageStore
11.4 NSDictionary
11.5 创建并使用键
11.6 使用BNRImageStore
11.7 关闭键盘
11.8 初级练习:编辑照片
11.9 中级练习:删除照片
11.10 高级练习:Camera Overlay
11.11 深入学习:导航实现文件
11.12 深入学习:摄像
第12章 触摸事件与UIResponder
12.1 触摸事件
12.2 创建TouchTracker应用
12.3 实现BNRDrawView,完成绘图功能
12.4 处理触摸事件并创建线条对象
12.5 初级练习:保存与读取
12.6 中级练习:颜色
12.7 高级练习:圆圈
12.8 深入学习:响应对象链
12.9 深入学习:UIControl
第13章 UIGestureRecognizer与UIMenuController
13.1 UIGestureRecognizer子类
13.2 用UITapGestureRecognizer对象识别"按下"手势
13.3 同时添加多种触摸手势
13.4 UIMenuController
13.5 UILongPressGestureRecognizer
13.6 UIPanGestureRecognizer以及同时识别多个手势
13.7 深入学习:UIMenuController与UIResponderStandardEditActions
13.8 深入学习:再谈UIGestureRecognizer
13.9 中级练习:修正错误
13.10 高级练习:速度与宽度
13.11 高级练习:颜色
第14章 调试工具
14.1 仪表
14.2 Instruments
14.3 静态分析器
14.4 项目、目标和构建设置
第15章 自动布局入门
15.1 通用化Homepwner
15.2 自动布局系统
15.3 在Interface Builder中添加约束
15.4 调试约束问题
15.5 初级练习:打造完美界面
15.6 中级练习:通用化Quiz
15.7 深入学习:使用_autolayoutTrace方法调试约束问题
15.8 深入学习:使用多个XIB文件
第16章 在代码中使用自动布局
16.1 视觉化格式语言
16.2 创建约束
16.3 添加约束
16.4 固有内容大小
16.5 另一种添加方式
16.6 深入学习:NSAutoresizingMaskLayoutConstraint
第17章 自动转屏,UIPopoverController与模态视图控制器
17.1 自动转屏
17.2 自动转屏通告机制
17.3 UIPopoverController
17.4 更多的模态视图控制器
17.5 线程安全的单例
17.6 初级练习:为另一个类添加线程安全的单例
17.7 高级练习:UIPopoverController对象的外观
17.8 深入学习:位掩码
17.9 深入学习:视图控制器之间的关系
第18章 保存、读取与应用状态
18.1 固化
18.2 应用沙盒
18.3 NSKeyedArchiver与NSKeyedUnarchiver
18.4 应用状态与状态切换
18.5 通过NSData将数据写入文件
18.6 NSNotificationCenter和内存过低警告
18.7 模型-视图-控制器-存储设计模式
18.8 初级练习:PNG
18.9 深入学习:应用的状态切换
18.10 深入学习:文件系统的读取和写入
18.11 深入学习:应用程序包
第19章 创建UITableViewCell子类
19.1 创建BNRItemCell
19.2 处理图片
19.3 由UITableViewCell对象转发动作消息
19.4 捕获变量
19.5 初级练习:设置颜色
19.6 高级练习:缩放
19.7 深入练习:UICollectionView
第20章 动态字体
20.1 使用用户字体
20.2 响应用户字体的改变
20.3 修改自动布局约束
20.4 确定用户字体大小
20.5 修改BNRItemCell
第21章 Web服务与UIWebView
21.1 Web服务
21.2 UIWebView
21.3 认证信息
25.4 中级练习:加强UIWebView
21.5 高级练习:课程预告
21.6 深入学习:HTTP请求主体
第23章 Core Data
23.1 对象-关系映射
23.2 用Core Data重写BNRItemStore的数据保存功能
23.3 再谈SQL
23.4 Faults
23.5 各种存取机制的优缺点
23.6 初级练习:Asset的iPad界面
23.7 中级练习:增加BNRAssetType对象
23.8 高级练习:显示某种类型的BNRItem对象
第24章 状态恢复
24.1 状态恢复的工作原理
24.2 启用状态恢复
24.3 恢复标识和恢复类
24.4 状态恢复与应用生命周期
24.5 恢复视图控制器
24.6 编码状态数据
24.7 保存视图状态
24.8 中级练习:为另一个应用启用状态恢复
24.9 深入学习:设置快照
第25章 本地化
25.1 通过NSNumberFormatter实施国际化
25.2 资源的本地化
25.3 NSLocalizedString()与字符串对照表
25.4 初级练习:再添加一套本地化资源
25.5 深入学习:NSBundle在国际化过程中的作用
25.6 深入学习:不通过基础国际化对XIB文件实施本地化
第26章 NSUserDefaults
26.1 NSUserDefaults
26.2 设置束
第27章 控制动画
27.1 基础动画
27.2 关键帧动画
27.3 在动画完成后执行特定的代码
27.4 弹簧动画
27.5 中级练习:提升Quiz的用户体验
第28章 UIStoryboard
28.1 创建Storyboard文件
28.2 Storyboard文件中的UITableViewController
28.3 Segue
28.4 改变颜色
28.5 传递数据
28.6 Storyboards的优缺点
28.7 深入学习:状态恢复
第29章 后记
29.1 接下来做什么
29.2 结束语
第30章 UISplitViewController
22.1 在Nerdfeed中使用UISplitViewController
22.2 在竖排模式下显示主视图控制器
22.3 将Nerdfeed改为通用应用
索引
^ 收 起
本书适合哪些读者 xiii
第4版有哪些更新 xiii
教学理念 xiv
如何使用本书 xv
本书是如何组织的 xv
代码风格 xvii
版式说明 xvii
开发所需的硬件与软件 xviii
第1章 个简单的iOS应用
1.1 创建Xcode项目
1.2 模型-视图-控制器
1.3 设计Quiz
1.4 创建视图控制器
1.5 创建界面
1.6 创建关联
1.7 创建模型对象
1.8 大功告成
1.7 在模拟器上运行应用
1.9 安装应用
1.9 应用图标
1.10 启动图片
第2章 Objective-C
2.1 对象
2.2 使用对象
2.3 编写命令行工具RandomItems
2.4 创建Objective-C类的子类
2.5 深入学习NSArray与NSMutableArray
2.6 异常与未知选择器
2.7 练习
2.8 初级练习:查找问题
2.9 中级练习:另一个初始化方法
2.10 高级练习:另一个类
2.11 关于深入学习部分
2.12 深入学习:如何为类命名
2.13 深入学习:#import和@import
第3章 通过ARC管理内存
3.1 栈
3.2 堆
3.3 指针变量与对象所有权
3.4 强引用与弱引用
3.5 属性
3.6 深入学习:属性合成
3.7 深入学习:Autorelease池与ARC历史
第4章 视图与视图层次结构
4.1 视图基础
4.2 视图层次结构
4.3 创建UIView子类
4.4 在drawRect:方法中自定义绘图
4.5 关于开发者文档
4.6 初级练习:绘制图像
4.7 深入学习:Core Graphics
4.8 高级练习:阴影和渐变
第5章 视图:重绘与UIScrollView
5.1 运行循环和重绘视图
5.2 类扩展
5.3 使用UIScrollView
第6章 视图控制器
6.1 创建UIViewController子类
6.2 另一个视图控制器
6.3 UITabBarController
6.4 视图控制器的初始化方法
6.5 添加本地通知
6.6 加载和显示视图
6.7 与视图控制器及其视图进行交互
6.8 初级练习:增加一个标签项
6.9 中级练习:控制逻辑
6.10 深入学习:键值编码
6.11 深入学习:Retina显示屏
第7章 委托与文本输入
7.1 文本框(UITextField)
7.2 委托
7.3 协议
7.4 向屏幕中添加UILabel对象
7.5 运动效果
7.6 使用调试器
7.7 深入学习:main()与UIApplication
7.8 中级练习:捏合-缩放
第8章 UITableView与UITableViewController
8.1 编写Homepwner应用
8.2 UITableViewController
8.3 UITableView数据源
8.4 UITableViewCell对象
8.5 代码片段库
8.6 初级练习:表格段
8.7 中级练习:固定行
8.8 高级练习:修改UITableView对象的外观
第9章 编辑UITableView
9.1 编辑模式
9.2 增加行
9.3 删除行
9.4 移动行
9.5 初级练习:更改"删除"按钮的标题
9.6 中级练习:禁止移动某个表格行
9.7 高级练习:彻底禁止移动某个表格行
第10章 UINavigationController
10.1 UINavigationController对象
10.2 额外的视图控制器
10.3 UINavigationController的导航功能
10.4 UINavigationBar
10.5 初级练习:显示数字键盘
10.6 中级练习:关闭数字键盘
10.7 高级练习:压入更多视图控制器
第11章 相机
11.1 通过UIImageView对象显示照片
11.2 通过UIImagePickerController拍摄照片
11.3 创建BNRImageStore
11.4 NSDictionary
11.5 创建并使用键
11.6 使用BNRImageStore
11.7 关闭键盘
11.8 初级练习:编辑照片
11.9 中级练习:删除照片
11.10 高级练习:Camera Overlay
11.11 深入学习:导航实现文件
11.12 深入学习:摄像
第12章 触摸事件与UIResponder
12.1 触摸事件
12.2 创建TouchTracker应用
12.3 实现BNRDrawView,完成绘图功能
12.4 处理触摸事件并创建线条对象
12.5 初级练习:保存与读取
12.6 中级练习:颜色
12.7 高级练习:圆圈
12.8 深入学习:响应对象链
12.9 深入学习:UIControl
第13章 UIGestureRecognizer与UIMenuController
13.1 UIGestureRecognizer子类
13.2 用UITapGestureRecognizer对象识别"按下"手势
13.3 同时添加多种触摸手势
13.4 UIMenuController
13.5 UILongPressGestureRecognizer
13.6 UIPanGestureRecognizer以及同时识别多个手势
13.7 深入学习:UIMenuController与UIResponderStandardEditActions
13.8 深入学习:再谈UIGestureRecognizer
13.9 中级练习:修正错误
13.10 高级练习:速度与宽度
13.11 高级练习:颜色
第14章 调试工具
14.1 仪表
14.2 Instruments
14.3 静态分析器
14.4 项目、目标和构建设置
第15章 自动布局入门
15.1 通用化Homepwner
15.2 自动布局系统
15.3 在Interface Builder中添加约束
15.4 调试约束问题
15.5 初级练习:打造完美界面
15.6 中级练习:通用化Quiz
15.7 深入学习:使用_autolayoutTrace方法调试约束问题
15.8 深入学习:使用多个XIB文件
第16章 在代码中使用自动布局
16.1 视觉化格式语言
16.2 创建约束
16.3 添加约束
16.4 固有内容大小
16.5 另一种添加方式
16.6 深入学习:NSAutoresizingMaskLayoutConstraint
第17章 自动转屏,UIPopoverController与模态视图控制器
17.1 自动转屏
17.2 自动转屏通告机制
17.3 UIPopoverController
17.4 更多的模态视图控制器
17.5 线程安全的单例
17.6 初级练习:为另一个类添加线程安全的单例
17.7 高级练习:UIPopoverController对象的外观
17.8 深入学习:位掩码
17.9 深入学习:视图控制器之间的关系
第18章 保存、读取与应用状态
18.1 固化
18.2 应用沙盒
18.3 NSKeyedArchiver与NSKeyedUnarchiver
18.4 应用状态与状态切换
18.5 通过NSData将数据写入文件
18.6 NSNotificationCenter和内存过低警告
18.7 模型-视图-控制器-存储设计模式
18.8 初级练习:PNG
18.9 深入学习:应用的状态切换
18.10 深入学习:文件系统的读取和写入
18.11 深入学习:应用程序包
第19章 创建UITableViewCell子类
19.1 创建BNRItemCell
19.2 处理图片
19.3 由UITableViewCell对象转发动作消息
19.4 捕获变量
19.5 初级练习:设置颜色
19.6 高级练习:缩放
19.7 深入练习:UICollectionView
第20章 动态字体
20.1 使用用户字体
20.2 响应用户字体的改变
20.3 修改自动布局约束
20.4 确定用户字体大小
20.5 修改BNRItemCell
第21章 Web服务与UIWebView
21.1 Web服务
21.2 UIWebView
21.3 认证信息
25.4 中级练习:加强UIWebView
21.5 高级练习:课程预告
21.6 深入学习:HTTP请求主体
第23章 Core Data
23.1 对象-关系映射
23.2 用Core Data重写BNRItemStore的数据保存功能
23.3 再谈SQL
23.4 Faults
23.5 各种存取机制的优缺点
23.6 初级练习:Asset的iPad界面
23.7 中级练习:增加BNRAssetType对象
23.8 高级练习:显示某种类型的BNRItem对象
第24章 状态恢复
24.1 状态恢复的工作原理
24.2 启用状态恢复
24.3 恢复标识和恢复类
24.4 状态恢复与应用生命周期
24.5 恢复视图控制器
24.6 编码状态数据
24.7 保存视图状态
24.8 中级练习:为另一个应用启用状态恢复
24.9 深入学习:设置快照
第25章 本地化
25.1 通过NSNumberFormatter实施国际化
25.2 资源的本地化
25.3 NSLocalizedString()与字符串对照表
25.4 初级练习:再添加一套本地化资源
25.5 深入学习:NSBundle在国际化过程中的作用
25.6 深入学习:不通过基础国际化对XIB文件实施本地化
第26章 NSUserDefaults
26.1 NSUserDefaults
26.2 设置束
第27章 控制动画
27.1 基础动画
27.2 关键帧动画
27.3 在动画完成后执行特定的代码
27.4 弹簧动画
27.5 中级练习:提升Quiz的用户体验
第28章 UIStoryboard
28.1 创建Storyboard文件
28.2 Storyboard文件中的UITableViewController
28.3 Segue
28.4 改变颜色
28.5 传递数据
28.6 Storyboards的优缺点
28.7 深入学习:状态恢复
第29章 后记
29.1 接下来做什么
29.2 结束语
第30章 UISplitViewController
22.1 在Nerdfeed中使用UISplitViewController
22.2 在竖排模式下显示主视图控制器
22.3 将Nerdfeed改为通用应用
索引
^ 收 起
Christian Keur是Big Nerd Ranch的高级讲师和软件工程师,负责编写Big Nerd Ranch的“iOS新手培训课程”教材。该教材广受好评,是本书的原型。Christian毕业于美国佐治亚理工学院计算机科学系,目前居住在亚特兰大。 Aaron Hillegass是Big Nerd Ranch的创始人之一,曾就职于NeXT公司和Apple公司,他拥有近20年的Objective-C、Cocoa、iOS开发与教学经验。Aaron与他人合著了《Mac OS X编程》和《Objectibe-C编程》。 Joe Conway曾参与编写了“iOS新手培训课程”教材。他近创办了stable/kernel 公司,开发高质量的移动应用。
《iOS编程》荣获Jolt生产力大奖。第4版更新了iOS7和Xcode5的内容。全书涵盖了开发iOS应用的方方面面。从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instrumen tst等。如果读者刚接触iOS编程,阅读本书前两章可以快速入门。如果读者已经有iOS编程经验,阅读本书可以拾遗补缺。
比价列表