iOS编程 电子书下载 PDF下载

iOS编程
内容简介
《iOS编程(第2版)》涵盖了开发iOS应用的方方面面。从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instrumentst等。如果读者刚接触iOS编程,阅读本书前两章可以快速入门。如果读者已经有iOS编程经验,阅读本书可以拾遗补缺。本书的另一个特色是教读者以正确的方法解决问题。Objective-C的习惯约定有哪些(例如命名约定,内存管理约定),创建子类时如何处理初始化方法,Cocoa的常见设计模式有哪些,如何选择数据保存方法等。这些问题,如果读者自己摸索,难免费时费力。本书已经将这些知识整理、归纳并清楚地呈现在读者面前。
·查看全部>>
目录
Table of Contents
简介
本书适合哪些读者
第二版有哪些更新?
教学理念
如何使用本书
本书是如何组织的
代码风格
版式说明
开发所需的硬件与软件
第1章 第一个简单的iOS应用
1.1 创建Xcode项目
1.2 创建界面
1.3 模型-视图-控制器
1.4 声明
声明实例变量
声明方法
1.5 创建关联
设置指针
设置目标(target)和动作(action)
关联小结
1.6 实现方法
1.7 针对模拟器构建并运行应用
1.8 安装应用
1.9 应用图标
1.10 启动图片
第2章 Objective-C
2.1 对象
2.2 使用实例
创建对象
发送消息
释放对象
2.3 编写命令行工具RandomPossessions
NSString
NSArray与NSMutableArray
2.4 子类化Objective-C类
实例变量
存取方法
实例方法
初始化方法
其他初始化方法与初始化方法链
类方法
测试子类 5
2.5 异常与控制台窗口
2.6 快速枚举
2.7 练习
第3章 内存管理
3.1 内存管理基础
C语言的内存管理
通过对象管理内存
3.2 引用计数
使用retain计数
使用autorelease
存取方法和内存管理
实现dealloc
通过属性机制简化存取方法
copy和mutableCopy
Retain计数规则
3.3 深入学习:再谈内存管理
第4章 委托机制与Core Location
4.1 项目、目标和框架
4.2 Core Location
通过CLLocationManager获取更新数据
4.3 委托机制
协议
协议方法
委托机制、控制器对象和内存管理
4.4 使用调试器
4.5 练习:方位
4.6 深入学习:构建阶段、编译器错误和连接器错误
预处理(Preprocessing)
编译
连接
第5章 MapKit与文本输入
5.1 对象图
5.2 MapKit框架
5.3 界面属性
5.4 设置MapView对象的委托对象
使用文档
创建MKAnnotation子类
标记位置
完成Whereami
5.5 练习:扩充标注
5.6 练习:根据地理位置获取城市信息
第6章 创建UIView子类
6.1 创建自定义视图
drawRect:方法
创建UIView实例
6.2 绘制文字和阴影
6.3 使用UIScrollView
6.4 实现缩放功能
6.5 隐藏状态条
6.6 练习:颜色
6.7 深入学习:Retain循环
6.8 深入学习:重画视图
第7章 视图控制对象
7.1 视图控制对象与XIB文件
7.2 使用视图控制对象
创建UITabBarController对象
创建视图控制对象和标签项
为视图控制对象创建视图
深入浅出XIB:介绍文件所有者
7.3 视图的显示和消失
7.4 视图控制对象的生命周期与内存过低警告
7.5 UIViewController子类与模板
7.6 练习:地图标签
第8章 方向感应器
8.1 设置方向感应器
8.2 获取方向感应器数据
8.3 加速方向与加速数值
8.4 使用加速感应器数据
8.5 使加速感应器数据更“平滑”
8.6 侦测摇动
8.7 练习:改变颜色
8.8 深入学习:滤波与频率
8.9 深入学习:Retina显示屏
第9章 通告机制与设备转动
9.1 通告中心
9.2 UIDevice通告
9.3 自动转屏
用代码设置自动缩放掩码与按位运算符
9.4 强制使用横排模式
9.5 练习:设备近身通告
深入学习:覆盖自动转屏
第10章 UITableView与UITableViewController
10.1 编写Homepwner应用
10.2 UITableViewController
创建UITableViewController子类
10.3 UITableView数据源
PossessionStore:单实例对象
实现数据源方法
10.4 UITableViewCell对象
创建并获取UITableViewCell对象
重用UITableViewCell对象
10.5 代码片段库
10.6 练习:表格段
第11章 编辑UITableView
11.1 编辑模式
11.2 增加行
11.3 删除行
11.4 移动行
第12章 UINavigationController
12.1 UINavigationController
UINavigationBar
12.2 加入额外的UIViewController
12.3 UINavigationController的导航功能
将视图控制对象压入栈
视图控制对象之间的数据传递
视图的显示和消失
12.4 练习:数字键盘(Number Pad)
第13章 相机
13.1 通过UIImageView显示图片
通过UIImagePickerController拍摄照片
ImageStore
NSDictionary
创建并使用键
隐藏键盘
13.2 练习:删除图片
13.2 深入:摄像
第14章 UIPopoverController与模态视图控制对象
14.1 将Homepwner改写为通用应用
14.2 UIPopoverController
14.3 模态视图控制对象
关闭模态视图控制对象
模式视图控制对象的样式
编写视图控制对象的委托协议
模态视图控制对象的过渡动画
第15章 保存、读取与多任务处理
15.1 应用沙盒
获取文件路径
15.2 固化
对象的固化
对象的解固
15.3 应用状态、状态切换与多任务处理
15.4 通过NSData保存数据
15.5 再谈内存过低警告
15.6 “模型-视图-控制器-存储”设计模式
15.7 练习:为Whereami增加固化功能
15.8 深入:应用状态的切换
15.9 深入:文件系统的读取和写入
15.10 深入:程序包
第16章 创建UITableViewCell子类
16.1 创建HomepwnerItemCell
创建子视图
子视图的布局
使用UITableViewCell子类对象
16.2 处理图片
16.3 练习:辅助指示视图
16.4 练习:缩小原图
第17章 Core Data
17.1 对象-关系映射
17.2 用Core Data重写PossessionStore的数据保存功能
模型文件
NSManagedObject与NSManagedObject子类
更新PossessionStore
为Homepwner增加AssetType功能
17.3 再谈SQL
17.4 各种保存机制的优缺点
17.5 练习:增加AssetType对象
17.6 练习:AssetType对象的iPad界面
第18章 本地化
18.1 通过NSLocale实现国际化
18.2 资源的本地化
18.3 NSLocalizedString与字符串对照表
18.4 练习:增加一套本地化资源
18.5 深入:NSBundle在国际化中的作用
第19章 设置
19.1 更新Whereami
19.2 NSUserDefaults
19.3 深入:“设置”应用
第20章 触摸事件与UIResponder
20.1 触摸事件
20.2 创建TouchTracker应用
20.3 处理触摸事件并创建线条对象
20.4 响应对象链
20.5 练习:保存和读取
20.6 练习:圆圈
20.7 深入学习:UIControl
第21章 Instruments
21.1 静态分析器
21.2 Instruments
21.3 Allocations组件
Allocations组件的设置选项
内存堆快照分析
Time Profiler组件
21.3 Xcode方案
创建新方案
21.4 构建设置
第22章 Core Animation Layer
22.1 层与视图的关系
22.2 创建CALayer对象
22.3 层的显示内容
22.4 隐式可动画属性
22.5 深入:通过代码生成显示内容
22.6 深入:层、位图与上下文
22.7 练习:动态生成层的显示内容
第23章 通过CAAnimation控制动画
23.1 动画对象
23.2 通过CABasicAnimation实现旋转动画
速度控制函数
动画结束后的处理
23.3 通过CAKeyframeAnimation实现弹跳动画
23.4 练习:更多动画效果
23.5 深入:外观层和模型层
第24章 Block对象与范畴
24.1 为TouchDrawView上色
24.2 Block对象
Block对象与变量
捕获变量
通过其他内建的方法使用Block对象
通过Block对象保持代码的短小精练
24.3 范畴
24.4 深入学习:内存管理与Block对象
24.5 深入学习:比较多种回调机制实现途径的优缺点
第15章 Web服务与UIWebView
25.1 Web服务
编写Nerdfeed
从指定的URL获取数据
使用NSURLConnection
解析XML数据
日志输出技巧
25.2 UIWebView
25.3 深入学习:NSXMLParser
25.4 深入学习:HTTP请求主体
25.5 深入学习:认证信息
25.6 练习:解析并显示更多数据
25.7 练习:加强UIWebView
第26章 UISplitViewController
26.1 在Nerdfeed中使用UISplitViewController
26.2 主、从视图控制对象间的通信
26.3 在竖排模式下显示主视图控制对象
26.4 将Nerdfeed改写为通用应用
第27章 多媒体播放与后台运行
27.1 创建MediaPlayer应用
27.2 系统声音
注册系统声音
播放系统声音
27.3 播放压缩格式的音频文件
27.4 播放视频文件
MPMoviePlayerViewController
视频文件的预读
27.5 后台运行
后台运行规则
其他形式的后台运行
27.6 底层API
27.7 练习:录音
第15章 Bonjour与Web服务端
28.1 Bonjour
创建CocoaServer
发布Bonjour服务
通过Bonjour查找服务
28.2 HTTP通信
用Objective-C编写Web服务端
获取服务端的网络地址信息
字节序
创建服务请求
接收Web请求
28.3 深入学习:TXTRecords
第29章 推送通知与网络编程
29.1 设置客户端,为接收推送通知做准备
注册客户端
创建并设置针对推送通知的provisioning profile
29.2 投递推送通知
向provider发送设备token
29.3 发送推送通知
通过NSStream和Apple服务器创建网络连接
通过NSStream建立网络连接
为Apple服务器提供数据
处理投递错误
再谈针对流连接的数据读取
29.4 几种额外的客户端通知处理机制
声音和图标标记
通过推送通知传送自定义数据
29.5 正式的通知服务器以及其他发布事宜
29.6 深入学习:反馈服务
第30章 后记
30.1 接下来做什么
30.2 结束语
索引
Copyright © 2024 by topbester.com.
All Rights Reserved.
沪ICP备14027842号-1