编辑推荐
适读人群 :iPhone、iPad、应用程序开发者 《iOS编程(第4版)》有两个特点:一、涵盖iOS应用开发必备知识:从Objective-C基础知识到新语言特性,从AppKit库到常见的Cocoa设计模式,从Xcode技巧到Instruments,不一而足。第二、指导读者以正确的方法解决问题:Objective-C的习惯约定有哪些(例如命名约定,内存管理约定),创建子类时如何处理初始化方法,Cocoa的常见设计模式有哪些,如何选择数据保存方法……iOS开发包括iPhone开发、iPod touch开发和iPad开发,《iOS编程(第4版)》绝大部分内容可通用,有差异的部分(例如iPad界面)单独予以说明。
内容简介
《iOS编程》荣获Jolt生产力大奖。第4版更新了iOS7和Xcode5的内容。《iOS编程(第4版)》涵盖了开发iOS应用的方方面面。从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instrumen tst等。如果读者刚接触iOS编程,阅读本书前两章可以快速入门。如果读者已经有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应用开发必备知识:从Objective-C基础知识到新语言特性,从AppKit库到常见的Cocoa设计模式,从Xcode技巧到Instruments,不一而足。第二、指导读者以正确的方法解决问题:Objective-C的习惯约定有哪些(例如命名约定,内存管理约定),创建子类时如何处理初始化方法,Cocoa的常见设计模式有哪些,如何选择数据保存方法……iOS开发包括iPhone开发、iPod touch开发和iPad开发,书中绝大部分内容可通用,有差异的部分(例如iPad界面)单独予以说明。
阅读此书,转身成为iPhone/iPad程序员。
——Dietrich Kappe,Pathfinder Development公司CTO
目录
前言 xiii本书适合哪些读者 xiii第4版有哪些更新 xiii教学理念 xiv如何使用本书 xv本书是如何组织的 xv代码风格 xvii版式说明 xvii开发所需的硬件与软件 xviii第1章 第一个简单的iOS应用 11.1 创建Xcode项目 21.2 模型-视图-控制器 41.3 设计Quiz 51.4 创建视图控制器 61.5 创建界面 81.6 创建关联 141.7 创建模型对象 181.8 大功告成 211.7 在模拟器上运行应用 221.9 安装应用 231.9 应用图标 251.10 启动图片 27
第2章 Objective-C 292.1 对象 292.2 使用对象 302.3 编写命令行工具RandomItems 332.4 创建Objective-C类的子类 382.5 深入学习NSArray与NSMutableArray 582.6 异常与未知选择器 602.7 练习 622.8 初级练习:查找问题 622.9 中级练习:另一个初始化方法 622.10 高级练习:另一个类 632.11 关于深入学习部分 632.12 深入学习:如何为类命名 632.13 深入学习:#import和@import 64
第3章 通过ARC管理内存 653.1 栈 653.2 堆 663.3 指针变量与对象所有权 663.4 强引用与弱引用 703.5 属性 753.6 深入学习:属性合成 813.7 深入学习:Autorelease池与ARC历史 83
第4章 视图与视图层次结构 854.1 视图基础 864.2 视图层次结构 864.3 创建UIView子类 884.4 在drawRect:方法中自定义绘图 944.5 关于开发者文档 1054.6 初级练习:绘制图像 1064.7 深入学习:Core Graphics 1064.8 高级练习:阴影和渐变 108
第5章 视图:重绘与UIScrollView 1115.1 运行循环和重绘视图 1125.2 类扩展 1145.3 使用UIScrollView 115
第6章 视图控制器 1196.1 创建UIViewController子类 1206.2 另一个视图控制器 1236.3 UITabBarController 1306.4 视图控制器的初始化方法 1346.5 添加本地通知 1356.6 加载和显示视图 1366.7 与视图控制器及其视图进行交互 1386.8 初级练习:增加一个标签项 1396.9 中级练习:控制逻辑 1396.10 深入学习:键值编码 1396.11 深入学习:Retina显示屏 140
第7章 委托与文本输入 1437.1 文本框(UITextField) 1437.2 委托 1467.3 协议 1487.4 向屏幕中添加UILabel对象 1507.5 运动效果 1527.6 使用调试器 1537.7 深入学习:main()与UIApplication 1577.8 中级练习:捏合-缩放 157
第8章 UITableView与UITableViewController 1598.1 编写Homepwner应用 1598.2 UITableViewController 1608.3 UITableView数据源 1648.4 UITableViewCell对象 1708.5 代码片段库 1758.6 初级练习:表格段 1788.7 中级练习:固定行 1788.8 高级练习:修改UITableView对象的外观 178
第9章 编辑UITableView 1799.1 编辑模式 1799.2 增加行 1859.3 删除行 1879.4 移动行 1889.5 初级练习:更改“删除”按钮的标题 1909.6 中级练习:禁止移动某个表格行 1909.7 高级练习:彻底禁止移动某个表格行 190
第10章 UINavigationController 19110.1 UINavigationController对象 19210.2 额外的视图控制器 19610.3 UINavigationController的导航功能 20110.4 UINavigationBar 20510.5 初级练习:显示数字键盘 21010.6 中级练习:关闭数字键盘 21010.7 高级练习:压入更多视图控制器 210
第11章 相机 21111.1 通过UIImageView对象显示照片 21211.2 通过UIImagePickerController拍摄照片 21611.3 创建BNRImageStore 22011.4 NSDictionary 22211.5 创建并使用键 22511.6 使用BNRImageStore 22711.7 关闭键盘 22811.8 初级练习:编辑照片 23011.9 中级练习:删除照片 23011.10 高级练习:Camera Overlay 23011.11 深入学习:导航实现文件 23011.12 深入学习:摄像 233
第12章 触摸事件与UIResponder 23512.1 触摸事件 23512.2 创建TouchTracker应用 23712.3 实现BNRDrawView,完成绘图功能 23912.4 处理触摸事件并创建线条对象 24012.5 初级练习:保存与读取 24512.6 中级练习:颜色 24512.7 高级练习:圆圈 24612.8 深入学习:响应对象链 24612.9 深入学习:UIControl 247
第13章 UIGestureRecognizer与UIMenuController 24913.1 UIGestureRecognizer子类 25013.2 用UITapGestureRecognizer对象识别“按下”手势 25013.3 同时添加多种触摸手势 25213.4 UIMenuController 25413.5 UILongPressGestureRecognizer 25613.6 UIPanGestureRecognizer以及同时识别多个手势 25713.7 深入学习:UIMenuController与UIResponderStandardEditActions 26013.8 深入学习:再谈UIGestureRecognizer 26113.9 中级练习:修正错误 26213.10 高级练习:速度与宽度 26213.11 高级练习:颜色 262
第14章 调试工具 26314.1 仪表 26314.2 Instruments 26514.3 静态分析器 27514.4 项目、目标和构建设置 277
第15章 自动布局入门 28315.1 通用化Homepwner 28315.2 自动布局系统 28515.3 在Interface Builder中添加约束 28915.4 调试约束问题 29815.5 初级练习:打造完美界面 30615.6 中级练习:通用化Quiz 30715.7 深入学习:使用_autolayoutTrace方法调试约束问题 30715.8 深入学习:使用多个XIB文件 308
第16章 在代码中使用自动布局 30916.1 视觉化格式语言 31016.2 创建约束 31116.3 添加约束 31216.4 固有内容大小 31516.5 另一种添加方式 31616.6 深入学习:NSAutoresizingMaskLayoutConstraint 318
第17章 自动转屏,UIPopoverController与模态视图控制器 32117.1 自动转屏 32117.2 自动转屏通告机制 32417.3 UIPopoverController 32617.4 更多的模态视图控制器 32917.5 线程安全的单例 33717.6 初级练习:为另一个类添加线程安全的单例 33917.7 高级练习:UIPopoverController对象的外观 33917.8 深入学习:位掩码 33917.9 深入学习:视图控制器之间的关系 340
第18章 保存、读取与应用状态 34518.1 固化 34518.2 应用沙盒 34818.3 NSKeyedArchiver与NSKeyedUnarchiver 35018.4 应用状态与状态切换 35318.5 通过NSData将数据写入文件 35618.6 NSNotificationCenter和内存过低警告 35818.7 模型-视图-控制器-存储设计模式 36118.8 初级练习:PNG 36118.9 深入学习:应用的状态切换 36218.10 深入学习:文件系统的读取和写入 36318.11 深入学习:应用程序包 366
第19章 创建UITableViewCell子类 36919.1 创建BNRItemCell 36919.2 处理图片 37719.3 由UITableViewCell对象转发动作消息 38019.4 捕获变量 38519.5 初级练习:设置颜色 38619.6 高级练习:缩放 38719.7 深入练习:UICollectionView 387
第20章 动态字体 38920.1 使用用户首选字体 39020.2 响应用户首选字体的改变 39220.3 修改自动布局约束 39320.4 确定用户首选字体大小 39520.5 修改BNRItemCell 397
第21章 Web服务与UIWebView 40321.1 Web服务 40421.2 UIWebView 41421.3 认证信息 41625.4 中级练习:加强UIWebView 41821.5 高级练习:课程预告 41821.6 深入学习:HTTP请求主体 419
第22章 UISplitViewController 42122.1 在Nerdfeed中使用UISplitViewController 42222.2 在竖排模式下显示主视图控制器 42522.3 将Nerdfeed改为通用应用 428
第23章 Core Data 43123.1 对象-关系映射 43123.2 用Core Data重写BNRItemStore的数据保存功能 43223.3 再谈SQL 45023.4 Faults 45123.5 各种存取机制的优缺点 45323.6 初级练习:Asset的iPad界面 45423.7 中级练习:增加BNRAssetType对象 45423.8 高级练习:显示某种类型的BNRItem对象 454
第24章 状态恢复 45524.1 状态恢复的工作原理 45524.2 启用状态恢复 45624.3 恢复标识和恢复类 45724.4 状态恢复与应用生命周期 45924.5 恢复视图控制器 46124.6 编码状态数据 46424.7 保存视图状态 46524.8 中级练习:为另一个应用启用状态恢复 46724.9 深入学习:设置快照 467
第25章 本地化 46925.1 通过NSNumberFormatter实施国际化 47025.2 资源的本地化 47325.3 NSLocalizedString()与字符串对照表 47725.4 初级练习:再添加一套本地化资源 48025.5 深入学习:NSBundle在国际化过程中的作用 48025.6 深入学习:不通过基础国际化对XIB文件实施本地化 481
第26章 NSUserDefaults 48326.1 NSUserDefaults 48326.2 设置束 487
第27章 控制动画 49127.1 基础动画 49127.2 关键帧动画 49427.3 在动画完成后执行特定的代码 49627.4 弹簧动画 49727.5 中级练习:提升Quiz的用户体验 498
第28章 UIStoryboard 49928.1 创建Storyboard文件 49928.2 Storyboard文件中的UITableViewController 50328.3 Segue 50628.4 改变颜色 51228.5 传递数据 51328.6 Storyboards的优缺点 52028.7 深入学习:状态恢复 521
第29章 后记 52329.1 接下来做什么 52329.2 结束语 524索引 525
前言/序言
iOS编程(第4版) [iOS Programming, 4th Edition] 电子书 下载 mobi epub pdf txt