《iphone3开发基础教程》[66M]百度网盘|pdf下载|亲测有效
《iphone3开发基础教程》[66M]百度网盘|pdf下载|亲测有效

iphone3开发基础教程 pdf下载

出版社 人民邮电出版社
出版年 2009-11
页数 390页
装帧 精装
评分 8.5(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供iphone3开发基础教程电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

编辑推荐

  《iphone3开发基础教程》是计算机榜首图书,创造销售奇迹的经典著作,针对iPhoe SDK 3新特性全面改版,从这里,拥抱软件开发的未来。
  Apple公司的iPflone开创了移动平台新纪元!而新版iPhone 3做了不少改进,如强化应用程序对GPS的支持,还增加了众多新功能,如全系统搜索、支持复制和粘贴、收发多媒体信息等。iPhone 3与App Store的绝配为全世界的程序员提供了一个施展才华的全新大舞台。只要有新奇的创

内容简介

  《iphone3开发基础教程》内容完整丰富,具有较强的通用性,编程领域中各层次读者都能通过《iphone3开发基础教程》快速学习iPhone开发,提高相关技能。iPhone是一种全新的移动平台,苹果公司为它推出了强大的软件开发工具包iPhoneSDK。《iphone3开发基础教程》是一部关于iPhoneSDK3和iPhone3开发的基础教程,内容翔实、语言生动。书中结合消费类设备上常见的实例,循序渐进地讲解了iPhone3开发的基本流程,并介绍了首先进、时尚、受欢迎的iPhone3新特性。

作者简介

  Dave Mark,深受爱戴的Apple技术开发专家,具有多年开发经验。他撰写过许多Mac平台畅销书,目前专注于iPhone技术图书的写作,包括本书姊妹篇《iPhone 3开发高级教程》(中文版即将由人民邮电出版社出版)。
  Jeff LaMarche,资深Apple平台专家,拥有多年企业级开发经验。MacTech Magazine和Appoe公司开发人员网的专栏作家。

内页插图

精彩书评

  “不断有人问我如何开始iPhone开发,但我始终没有找到很好的答案。现在有答案了,Dave和Jeff的这本书简明易懂,并通过许多插图确保你能理解基本概念。在此基础上,他们深入讲述了各种关键概念,如MVC模式和ImageBuilder。我自己经常将本书作为参考指南使用——丰富的代码示例使它成为案头必备。”
  ——Steve Demeter,Trism的创建者和Demiforce 公司的所有者
  “本书清晰地描述了从注册为iPhone开发人员到创建完整的应用程序的整个开

目录

第1章 欢迎来到iPhone的世界 1
1.1 关于本书 1
1.2 必要条件 1
1.3 必备知识 3
1.4 编写iPhone应用程序有何不同 4
1.4.1 只有一个正在运行的应用程序 4
1.4.2 只有一个窗口 4
1.4.3 受限访问 5
1.4.4 有限的响应时间 5
1.4.5 有限的屏幕大小 5
1.4.6 有限的系统资源 5
1.4.7 不支持垃圾收集 6
1.4.8 新功能 6
1.4.9 与众不同的方法 6
1.5 本书内容 6
1.6 本次更新的内容 7
1.7 准备开始吧 7

第2章 创建基本项目 8
2.1 在Xcode中设置项目 8
2.2 Interface Builder简介 13
2.2.1 nib文件的构成 14
2.2.2 在视图中添加标签 15
2.3 美化iPhone应用程序 17
2.4 小结 20

第3章 处理基本交互 21
3.1 MVC范型 21
3.2 创建项目 22
3.3 创建视图控制器 22
3.3.1 输出口 23
3.3.2 操作 24
3.3.3 将操作和输出口添加到视图控制器 24
3.3.4 将操作和输出口添加到实现文件 26
3.4 使用应用程序委托 30
3.5 编辑MainWindow.xib 33
3.6 编辑Button_FunViewController.xib 34
3.6.1 在Interface Builder中创建视图 34
3.6.2 连接所有元素 36
3.6.3 测试 39
3.7 小结 39

第4章 更丰富的用户界面 40
4.1 满是控件的屏幕 40
4.2 活动、静态和被动控件 42
4.3 创建应用程序 42
4.3.1 导入图像 42
4.3.2 实现图像视图和文本字段 43
4.3.3 添加图像视图 44
4.3.4 添加文本字段 47
4.3.5 设置第二个文本字段的属性 50
4.3.6 连接输出口 50
4.4 构建和运行 51
4.4.1 完成输入后关闭键盘 51
4.4.2 通过触摸背景关闭键盘 52
4.5 实现滑块和标签 54
4.5.1 确定输出口 54
4.5.2 确定操作 54
4.5.3 添加输出口和操作 54
4.5.4 添加滑块和标签 55
4.5.5 连接操作和输出口 56
4.6 实现开关、按钮和分段控件 57
4.6.1 确定输出口 57
4.6.2 确定操作 57
4.6.3 添加开关、按钮和分段控件 59
4.6.4 连接开关输出口和操作 60
4.6.5 添加按钮 61
4.7 实现操作表和警报 62
4.7.1 遵从操作表委托方法 62
4.7.2 显示操作表 62
4.7.3 操作表委托和创建警报 64
4.8 美化按钮 66
4.8.1 viewDidLoad方法 66
4.8.2 控件状态 67
4.8.3 可拉伸图像 67
4.9 成为出色的内存使用者 67
4.10 小结 68

第5章 自动旋转和自动调整大小 70
5.1 使用自动调整属性处理旋转 71
5.1.1 指定旋转支持 71
5.1.2 使用自动调整属性设计界面 73
5.1.3 自动调整属性 74
5.1.4 设置按钮的自动调整属性 75
5.2 在旋转时重构视图 76
5.2.1 声明和连接输出口 77
5.2.2 在旋转时移动按钮 77
5.3 切换视图 79
5.3.1 确定输出口 80
5.3.2 确定动作 80
5.3.3 声明动作和输出口 80
5.3.4 设计两个视图 81
5.3.5 实现交换和动作 82
5.4 小结 84

第6章 多视图应用程序 85
6.1 View Switcher应用程序 87
6.2 多视图应用程序的体系结构 88
6.3 构建View Switcher 88
6.3.1 创建视图控制器和nib文件 89
6.3.2 修改应用程序委托 91
6.3.3 SwitchViewController.h 92
6.3.4 修改MainWindow.xib 92
6.3.5 编写SwitchViewController.m 95
6.3.6 实现内容视图 98
6.4 制作转换动画 101
6.5 小结 103

第7章 标签栏与选取器 104
7.1 Pickers应用程序 104
7.2 委托和数据源 106
7.3 建立工具栏框架 106
7.3.1 创建文件 107
7.3.2 添加根视图控制器 108
7.4 实现日期选取器 112
7.5 实现单个组件选取器 114
7.5.1 声明输出口和操作 114
7.5.2 构建视图 115
7.5.3 将控制器实现为数据源和委托 115
7.6 实现多组件选取器 120
7.6.1 声明输出口和操作 120
7.6.2 构建视图 120
7.6.3 实现控制器 121
7.7 实现独立组件 123
7.8 使用自定义选取器创建简单游戏 130
7.8.1 编写控制器头文件 130
7.8.2 构建视图 130
7.8.3 添加图像资源 131
7.8.4 实现控制器 131
7.8.5 spin方法 134
7.8.6 viewDidLoad方法 135
7.8.7 最后的细节 137
7.8.8 链接Audio Toolbox框架 140
7.9 小结 141

第8章 表视图简介 142
8.1 表视图基础 142
8.2 实现一个简单的表 145
8.2.1 设计视图 145
8.2.2 编写控制器 146
8.3 添加一个图像 149
8.4 附加配置 151
8.4.1 设置缩进级别 152
8.4.2 处理行的选择 152
8.4.3 更改字体大小和行高 154
8.4.4 委托还能做什么 155
8.5 定制表视图单元 155
8.5.1 单元应用程序 155
8.5.2 向表视图单元添加子视图 156
8.5.3 使用UITableViewCell的自定义子类 159
8.6 分组分区和索引分区 163
8.6.1 构建视图 163
8.6.2 导入数据 164
8.6.3 实现控制器 164
8.6.4 添加索引 168
8.7 实现搜索栏 168
8.7.1 重新考虑设计 168
8.7.2 深层可变副本 169
8.7.3 更新控制器头文件 170
8.7.4 修改视图 171
8.7.5 修改控制器实现 173
8.8 小结 183

第9章 导航控制器和表视图 184
9.1 导航控制器 184
9.1.1 栈的性质 184
9.1.2 控制器栈 185
9.2 由6个部分组成的分层应用程序:Nav 185
9.3 构建Nav应用程序的骨架 188
9.3.1 创建第一级视图控制器 188
9.3.2 设置导航控制器 189
9.4 第一个子控制器:展示按钮视图 194
9.5 第二个子控制器:校验表 201
9.6 第三个子控制器:表行上的控件 205
9.7 第四个子控制器:可移动的行 211
9.7.1 编辑模式 211
9.7.2 创建一个新的二级控制器 212
9.8 第五个子控制器:可删除的行 217
9.9 第六个子控制器:可编辑的详细窗格 222
9.9.1 创建数据模型对象 222
9.9.2 创建控制器 224
9.9.3 创建详细视图控制器 227
9.10 其他内容 240
9.11 小结 243

第10章 应用程序设置和用户默认设置 244
10.1 设置束 244
10.2 AppSettings应用程序 245
10.3 创建项目 247
10.4 使用设置束 248
10.4.1 在项目中添加设置束 248
10.4.2 设置属性列表 249
10.4.3 添加文本字段设置 250
10.4.4 添加安全文本字段设置 252
10.4.5 添加多值字段 252
10.4.6 添加拨动开关设置 253
10.4.7 添加滑块设置 254
10.4.8 添加子设置视图 255
10.5 读取应用程序中的设置 256
10.6 更改应用程序中的默认设置 260
10.7 小结 263

第11章 基本数据持久性 264
11.1 应用程序的沙盒 264
11.1.1 获取Documents目录 265
11.1.2 获取tmp目录 266
11.2 文件保存策略 266
11.2.1 单个文件持久性 266
11.2.2 多个文件持久性 267
11.3 持久保存应用程序数据 267
11.4 持久性应用程序 268
11.4.1 创建持久性项目 269
11.4.2 设计持久性应用程序视图 269
11.4.3 编辑持久性类 270
11.4.4 对模型对象进行归档 273
11.4.5 实现NSCopying 275
11.5 归档应用程序 276
11.5.1 实现FourLines类 277
11.5.2 实现PersistenceView-Controller类 278
11.6 使用iPhone的嵌入式SQLite3 280
11.7 使用Core Data 289
11.7.1 实体和托管对象 291
11.7.2 键/值编码 292
11.7.3 在上下文中结合它们 292
11.7.4 创建新托管对象 293
11.7.5 检索托管对象 293
11.7.6 设计数据模型 294
11.7.7 创建持久视图和控制器 297
11.7.8 将持久视图控制器设置为应用程序的根控制器 302
11.8 小结 303

第12章 使用Quartz和OpenGL绘图 304
12.1 图形世界的两个视图 304
12.2 本章的绘图应用程序 305
12.3 Quart绘图方法 305
12.3.1 Quartz 2D的图形上下文 305
12.3.2 坐标系 306
12.3.3 指定颜色 307
12.3.4 在上下文中绘制图像 308
12.3.5 绘制形状:多边形、直线和曲线 309
12.3.6 Quartz 2D工具示例:模式、梯度、虚线模式 309
12.4 构建QuartzFun应用程序 309
12.4.1 创建随机颜色 310
12.4.2 定义应用程序常量 311
12.4.3 实现QuartzFunView框架 312
12.4.4 向视图控制器中添加输出口和操作 314
12.4.5 更新QuartzFunViewContro-ller.xib 316
12.4.6 绘制直线 317
12.4.7 绘制矩形和椭圆形 319
12.4.8 绘制图像 320
12.4.9 优化QuartzFun应用程序 322
12.5 一些OpenGL ES基础知识 325
12.5.1 构建GLFun应用程序 326
12.5.2 设计Nib、添加框架、运行应用程序 335
12.6 小结 335

第13章 轻击、触摸和手势 336
13.1 多触摸术语 336
13.2 响应者链 337
13.3 多触摸体系结构 338
13.4 触摸浏览器应用程序 339
13.5 Swipes应用程序 342
13.6 实现多个轻扫动作 345
13.7 检测多次轻击 347
13.8 检测捏合操作 351
13.9 自己定义手势 354
13.10 小结 358

第14章 使用Core Location定位功能 359
14.1 位置管理器 359
14.1.1 设置所需的精度 360
14.1.2 设置距离筛选器 360
14.1.3 启动位置管理器 360
14.1.4 更明智地使用位置管理器 360
14.2 位置管理器委托 361
14.2.1 获取位置更新 361
14.2.2 使用CLLocation获取纬度和经度 361
14.2.3 错误通知 362
14.3 尝试使用Core Location 363
14.3.1 更新位置管理器 367
14.3.2 确定移动距离 367
14.4 小结 368

第15章 加速计 369
15.1 加速计物理学 369
15.2 访问加速计 370
15.2.1 UIAcceleration 370
15.2.2 实现accelerometer: didAccelerate:方法 371
15.3 摇动与击碎 373
15.3.1 用于击碎的代码 373
15.3.2 加载模拟文件 376
15.3.3 完好如初——复原触摸 377
15.4 滚弹珠程序 377
15.4.1 实现Ball View控制器 378
15.4.2 编写Ball View 379
15.4.3 计算小球运动 382
15.5 小结 385

第16章 iPhone照相机和照片库 386
16.1 使用图像选取器和UIImagePicker-Controller 386
16.2 实现图像选取器控制器委托 387
16.3 实际测试照相机和库 389
16.3.1 设计界面 390
16.3.2 实现照相机视图控制器 390
16.4 小结 394

第17章 应用程序本地化 395
17.1 本地化体系结构 395
17.2 使用字符串文件 396
17.3 现实中的iPhone:本地化应用程序 398
17.3.1 查看当前区域设置 401
17.3.2 测试LocalizeMe 401
17.3.3 本地化nib文件 402
17.3.4 查看本地化的项目结构 403
17.3.5 本地化图像 405
17.3.6 本地化应用程序图标 406
17.3.7 生成和本地化字符串文件 406
17.4 小结 409

第18章 未来之路 410
18.1 别陷进单一的思路里 410
18.1.1 苹果公司的文档 410
18.1.2 邮件列表 411
18.1.3 论坛 411
18.1.4 网站 411
18.1.5 博客 412
18.1.6 Dave和Jeff的博客及Twitter 412
18.1.7 参考图书 412
18.1.8 如果仍未解决问题 412
18.2 再会 412

精彩书摘

  第3章 处理基本交互
  上一章的Hello World应用程序很好地演示了如何使用Cocoa Touch进行iPhone开发,但它缺少了一项至关重要的功能:与用户交互的能力。如果没有良好的交互性,应用程序的功能将受到极大限制。
  本章将编写一个稍微复杂的应用程序,它具备两个按钮和一个标签(参见图3-1)。当用户按下任意一个按钮时,标签的文本将随之变化。这看上去是一个相当简单的示例,但它演示了iPhone控件开发所需的关键概念。
  3.1 MVC范型
  首先,让我们了解一些基本理论。Cocoa Touch设计者们采用MVC(模型-视图-控制器)范型作为指导原则。MVC是用于拆分GUI应用程序代码的逻辑方法。目前,几乎所有面向对象框架都对MVC敬畏三分,但很少有像Cocoa Touch这样忠实于MVC的。
  MVC模型将所有功能划分为3种。
  模型:保存应用程序数据的类。
  视图:窗口、控件和其他用户可以看到并能与之交互的元素的组成部分。
  控制器:将模型和视图绑定在一起,确定如何处理用户输入的应用程序逻辑。
  MVC的目标是实现3类尽可能截然不同的代码。编写的任何对象都应该能很明显地归为其中一类,并且其功能大部分不属于或完全不属于另外两类。例如,实现某个按钮的对象不应包含处理按下按钮事件时的数据,而实现银行账户的代码不应包含绘制表格以显示其事务的代码。
  MVC可以帮助确保实现最大可重用性。实现普通按钮的类可以在任何应用程序中使用。如果某个类实现的按钮将在被单击时执行一些特定的计算,那么此类仅能在其最初的应用程序中使用。
  在编写Cocoa Touch应用程序时,我们将主要使用Interface Builder来创建视图组件,但有时仍然需要在代码中修改界面,或者需要继承已有的视图和控件。
  创建模型的方法是设计一些Objective-C类来保存应用程序数据,或者利用Core Data构建数据模型(将在第11章介绍)。本章的应用程序不会创建任何模型对象,因为我们不需要存储或保留数据。但在后面的章节中,随着应用程序变得更加复杂,我们将引入模型对象。
  控制器组件通常由开发人员创建的类和特定于应用程序的类组成。控制器可以是完全自定义的类(NSObject子类),但更多情况下,它们一般是UIKit框架中已有通用控制器类(如UIViewCon- troller,稍后介绍)的子类。通过继承其中的一个已有类,你可以免费获取大量功能,并且基本上不再需要重新设计类的结构。
  随着对Cocoa Touch的深入了解,你会很快发现UIKit框架中的类是如何遵循MVC原则的。如果在开发时遵循这个概念,你将能够创建更加简洁、更易于维护的代码。

前言/序言

  这真是一段令人难忘的经历!我们最初编写这本关于iPhone7千发的书完全是出于个人爱好,从未想象过这本书会有如此多的读者。谁能想到,一本薄薄的小书竟然能够在全球各地畅销。读者对iPhone开发的热情是我们始料不及的。当然,这期间的点点滴滴也给我们留下了美好的回忆。
  那么,这个新版本中有哪些新内容?太多了!对于初学者,我们介绍了每一行代码,并且针对SDK3修改了每个项目。诚如你所愿,我们也全面修改了文字内容,使所有的解释说明都保持最新。我们还根据Apress网页的勘误和我们自己的网站http:Hiphonedevbook.com上的错误报告”,尽最大努力纠正了书中的每一个错误。当然,人无完人,金无足赤,所以如果你发现了任何错误,一定要告知我们,以便我们在下次印刷时能够继续更新本书。
  如果已经有了上一版,还需不需要购买本书呢?这个问题非常好,它也是Apress出版社与我们以及我们两个作者之间反复交流的问题.本书新增了许多内容,包括一个介绍CoreData的新项目。CoreData是一项重要的持久性技术,它在iPhone开发中发挥着重要作用。此外,新版加入了许多内容,使一些较为复杂的主题变得容易理解。
  毫无疑问,这一版比上一版更加出色。如果你已经学习了上一版并且掌握了其中的所有材料,那么请继续学习我们所写的More iPhone 3 Development(Apress,2009),该书弥补了本书的不足,讨论了SDK 3中引入的优秀的新技术。
  如果你还没有完整地学完上一版,仍然感觉思绪有些不太清楚,或者如果你只是想支持一下我们两位作者,那么一定要买这一版。我们会感谢你的支持。一定要访问http://iphonedevbook.com,告诉我们你开发的新颖的应用程序。我们期待着在论坛上见到你。祝编码愉快!