具体描述
iPhone是一个全新的移动平台,苹果公司为它推出了强大的软件开发工具包iOS SDK。由马克和纳丁等编著的《iPhone4与iPad开发基础教程》是一部关于iOS SDK开发的基础教程。《iPhone4与iPad开发基础教程》中结合消费类设备上常见的实例,循序渐进地讲解了适用于iPhone4、iPad及iPod touch开发的基本流程,从下载安装开发工具到使用各种iOS界面元素,从不同的视图设计模式到构建表格的技巧,以及SQLite、CoreData等持久化技术,涵盖了iOS开发的方方面面。
《iPhone4与iPad开发基础教程》内容完整丰富,具有较强的通用性,编程领域中各层次读者都能通过本书快速学习iOS开发,提高相关技能。
作者简介
Dave Mark 深受爱戴的Apple技术开发专家,具有多年开发经验。他撰写过许多Mac平台和iOS开发方面的畅销书,比如《iPad开发基础教程》(中文版已由人民邮电出版社出版)。目前专注于iPhone技术图书的写作。
Jack Nutting 资深Apple技术专家,Objective-C和Cocoa框架的坚定拥护者。除本书外,还与人合著了Learn Cocoa on the Mac。他有时会在www.nuthole.com上发表博客。
Jeff LaMarche 资深Apple平台专家,拥有多年企业级开发经验。他是MacTech Magazine和Apple公司开发人员网的专栏作家。
目录信息
1.1 关于本书 1
1.2 必要条件 1
1.2.1 开发者的选择 3
1.2.2 必备知识 4
1.3 编写iOS 应用程序有何不同 4
1.3.1 只有一个应用程序正在运行 5
1.3.2 只有一个窗口 5
1.3.3 受限访问 5
1.3.4 有限的响应时间 5
1.3.5 有限的屏幕大小 5
1.3.6 有限的系统资源 6
1.3.7 不支持垃圾收集 6
1.3.8 新功能 6
1.3.9 与众不同的方法 7
1.4 本书内容 7
1.5 本次更新的内容 8
1.6 准备开始吧 8
第2 章 创建基本项目 9
2.1 在Xcode 中设置项目 9
2.2 Interface Builder 简介 14
2.2.1 nib 文件的构成 15
2.2.2 在视图中添加标签 16
2.2.3 改变属性 18
2.3 美化iPhone 应用程序 19
2.4 小结 22
第3 章 处理基本交互 23
3.1 MVC 范型 23
3.2 创建项目 24
3.3 创建视图控制器 24
3.3.1 输出口 25
3.3.2 操作 26
3.3.3 将操作和输出口添加到视图控制器 27
3.3.4 将操作和输出口添加到实现文件 30
3.4 使用应用程序委托 34
3.5 编辑MainWindow.xib 36
3.6 编辑Button_FunViewController.xib 37
3.6.1 在Interface Builder 中创建视图 37
3.6.2 连接所有元素 40
3.6.3 测试 43
3.7 小结 43
第4 章 更丰富的用户界面 44
4.1 满是控件的屏幕 44
4.2 活动和被动控件 46
4.3 创建应用程序 46
4.4 实现图像视图和文本字段 47
4.4.1 确定输出口 47
4.4.2 确定操作 48
4.4.3 添加图像视图 49
4.4.4 添加文本字段 52
4.4.5 设置第二个文本字段的属性 55
4.4.6 连接输出口 55
4.5 关闭键盘 55
4.5.1 完成输入后关闭键盘 56
4.5.2 通过触摸背景关闭键盘 57
4.6 实现滑块和标签 59
4.6.1 确定输出口和操作 59
4.6.2 添加输出口和操作 60
4.6.3 添加滑块和标签 61
4.6.4 连接操作和输出口 62
4.7 实现开关、按钮和分段控件 62
4.7.1 添加输出口和操作 62
4.7.2 添加开关、按钮和分段控件 65
4.7.3 连接开关输出口和操作 66
4.7.4 添加按钮 66
4.8 实现操作表和警报 67
4.8.1 遵从操作表委托方法 67
4.8.2 显示操作表 68
4.8.3 使用操作表委托 70
4.9 美化按钮 71
4.9.1 viewDidLoad 方法 71
4.9.2 控件状态 72
4.9.3 可拉伸图像 72
4.10 成为出色的内存使用者 73
4.11 小结 74
第5 章 自动旋转和自动调整大小 75
5.1 自动旋转机制 75
5.2 使用自动调整属性处理旋转 77
5.2.1 指定旋转支持 77
5.2.2 使用自动调整属性设计界面 79
5.2.3 大小检查器的自动调整属性 80
5.2.4 设置按钮的自动调整属性 81
5.3 在旋转时重构视图 82
5.3.1 声明和连接输出口 83
5.3.2 在旋转时移动按钮 84
5.4 切换视图 85
5.4.1 确定输出口和操作 86
5.4.2 声明操作和输出口 87
5.4.3 设计两个视图 88
5.4.4 实现交换和操作 88
5.5 小结 91
第6 章 多视图应用程序 92
6.1 多视图应用程序的常见类型 92
6.2 多视图应用程序的体系结构 94
6.2.1 根控制器 95
6.2.2 内容视图剖析 96
6.3 构建View Switcher 96
6.3.1 创建视图控制器和nib 文件 97
6.3.2 修改应用程序委托 99
6.3.3 SwitchViewController.h 101
6.3.4 添加视图控制器 101
6.3.5 构建包含工具栏的视图 103
6.3.6 编写根视图控制器 104
6.3.7 实现内容视图 108
6.3.8 制作转换动画 110
6.4 小结 113
第7 章 标签栏与选取器 114
7.1 Pickers 应用程序 114
7.2 委托和数据源 117
7.3 建立工具栏框架 117
7.3.1 创建文件 117
7.3.2 添加根视图控制器 118
7.3.3 编辑MainWindow.xib 120
7.3.4 连接输出口,然后运行 123
7.4 实现日期选取器 124
7.5 实现单个组件选取器 126
7.5.1 声明输出口和操作 126
7.5.2 构建视图 127
7.5.3 将控制器实现为数据源和委托 127
7.6 实现多组件选取器 131
7.6.1 声明输出口和操作 131
7.6.2 构建视图 132
7.6.3 实现控制器 132
7.7 实现独立组件 135
7.8 使用自定义选取器创建简单游戏 141
7.8.1 编写控制器头文件 141
7.8.2 构建视图 142
7.8.3 添加图像资源 143
7.8.4 实现控制器 143
7.8.5 最后的细节 149
7.8.6 链接Audio Toolbox 框架 153
7.9 小结 154
第8 章 表视图简介 155
8.1 表视图基础 156
8.1.1 表视图和表视图单元 156
8.1.2 分组表和无格式表 157
8.2 实现一个简单的表 158
8.2.1 设计视图 158
8.2.2 编写控制器 158
8.2.3 添加一个图像 161
8.2.4 表视图单元样式 163
8.2.5 设置缩进级别 165
8.2.6 处理行的选择 165
8.2.7 更改字体大小和行高 167
8.3 定制表视图单元 168
8.3.1 单元应用程序 168
8.3.2 使用UITableViewCell 的自定义子类 172
8.4 分组分区和索引分区 176
8.4.1 构建视图 176
8.4.2 导入数据 177
8.4.3 实现控制器 177
8.4.4 添加索引 181
8.5 实现搜索栏 181
8.5.1 重新考虑设计 181
8.5.2 深层可变副本 182
8.5.3 更新控制器头文件 184
8.5.4 修改视图 185
8.5.5 修改控制器实现 186
8.6 小结 197
第9 章 导航控制器和表视图 198
9.1 导航控制器 198
9.1.1 栈的性质 198
9.1.2 控制器栈 199
9.2 由6 个部分组成的分层应用程序:Nav 200
9.2.1 子控制器 200
9.2.2 Nav 应用程序的骨架 203
9.2.3 第一个子控制器:展示按钮视图 209
9.2.4 第二个子控制器:校验表 217
9.2.5 第三个子控制器:表行上的控件 221
9.2.6 第四个子控制器:可移动的行 227
9.2.7 第五个子控制器:可删除的行 233
9.2.8 第六个子控制器:可编辑的详细窗格 239
9.2.9 其他内容 257
9.3 小结 260
第10 章 iPad 开发注意事项 261
10.1 分割视图和浮动窗口 261
10.2 创建SplitView 项目 263
10.3 xib 定义结构 264
10.4 代码定义功能 265
10.5 显示总统信息 272
10.6 创建浮动窗口 276
10.7 小结 282
第11 章 应用程序设置和用户默认设置 283
11.1 设置束 283
11.2 AppSettings 应用程序 284
11.2.1 创建项目 286
11.2.2 使用设置束 286
11.2.3 读取应用程序中的设置 297
11.2.4 更改应用程序中的默认设置 302
11.2.5 实现逼真效果 305
11.3 小结 307
第12 章 保存数据 308
12.1 应用程序的沙盒 308
12.1.1 获取Documents 目录 309
12.1.2 获取tmp 目录 310
12.2 文件保存策略 310
12.2.1 单个文件持久性 310
12.2.2 多个文件持久性 311
12.3 属性列表 311
12.3.1 属性列表序列化 311
12.3.2 持久性应用程序的第一个版本 312
12.4 对模型对象进行归档 317
12.4.1 符合NSCoding 318
12.4.2 实现NSCopying 319
12.4.3 对数据对象进行归档和取消归档 319
12.4.4 归档应用程序 320
12.5 使用iPhone 的嵌入式SQLite3 324
12.5.1 创建或打开数据库 325
12.5.2 绑定变量 327
12.5.3 SQLite3 应用程序 327
12.6 使用Core Data 334
12.6.1 实体和托管对象 335
12.6.2 Core Data 应用程序 339
12.7 小结 348
第13 章 Grand Central Dispatch、后台处理及其应用 349
13.1 Grand Central Dispatch 349
13.2 SlowWorker 简介 350
13.3 线程基础知识 352
13.4 工作单元 353
13.5 GCD:低级队列 354
13.5.1 傻瓜式操作 354
13.5.2 改进SlowWorker 355
13.6 后台处理 360
13.6.1 应用程序生命周期 361
13.6.2 状态更改通知 361
13.6.3 创建State Lab 363
13.6.4 执行状态 364
13.6.5 利用执行状态更改 365
13.6.6 处理不活动状态 366
13.6.7 处理后台状态 370
13.7 小结 378
第14 章 使用Quartz 和OpenGL 绘图 379
14.1 图形世界的两个视图 379
14.2 Quart 绘图方法 380
14.2.1 Quartz 2D 的图形上下文 380
14.2.2 坐标系 381
14.2.3 指定颜色 382
14.2.4 在上下文中绘制图像 383
14.2.5 绘制形状:多边形、直线和曲线 383
14.2.6 Quartz 2D 工具示例:模式、梯度、虚线模式 384
14.3 QuartzFun 应用程序 384
14.3.1 构建QuartzFun 应用程序 384
14.3.2 添加Quartz Drawing 代码 394
14.3.3 优化QuartzFun 应用程序 398
14.4 GLFun 应用程序 401
14.4.1 构建GLFun 应用程序 402
14.4.2 使用OpenGL 绘图 404
14.4.3 完成GLFun 411
14.5 小结 411
第15 章 轻击、触摸和手势 412
15.1 多触摸术语 412
15.2 响应者链 413
15.2.1 响应者链中的对象 413
15.2.2 转发事件:保持响应者链的活动状态 414
15.3 多触摸体系结构 415
15.3.1 将触摸相关代码放在何处 415
15.3.2 4 个手势通知方法 415
15.4 检测触摸 416
15.4.1 构建一个Touch Explorer 应用程序 417
15.4.2 运行Touch Explorer 419
15.5 检测轻扫 419
15.5.1 构建Swipes 应用程序 420
15.5.2 使用自动手势识别 423
15.5.3 实现多个轻扫动作 424
15.6 检测多次轻击 425
15.7 检测捏合操作 430
15.8 创建和使用自定义手势 433
15.8.1 定义选中标记手势 433
15.8.2 将勾选标记手势附加到视图 435
15.9 小结 437
第16 章 Core Location 定位功能 438
16.1 位置管理器 438
16.1.1 设置所需的精度 439
16.1.2 设置距离筛选器 439
16.1.3 启动位置管理器 439
16.1.4 更明智地使用位置管理器 440
16.2 位置管理器委托 440
16.2.1 获取位置更新 440
16.2.2 使用CLLocation 获取纬度和经度 440
16.2.3 错误通知 442
16.3 尝试使用Core Location 442
16.3.1 更新位置管理器 446
16.3.2 确定移动距离 447
16.4 小结 447
第17 章 加速计 448
17.1 加速计物理学 448
17.2 不要忘记旋转 449
17.3 Core Motion 和动作管理器 449
17.3.1 基于事件的动作 450
17.3.2 主动动作访问 455
17.3.3 加速计结果 457
17.4 检测摇动 458
17.4.1 Baked-In 摇动 459
17.4.2 摇动与击碎 459
17.5 将加速计用作方向控制器 464
17.5.1 滚弹珠程序 464
17.5.2 编写Ball View 466
17.5.3 计算小球运动 469
17.6 小结 472
第18 章 iPhone 照相机和照片库 473
18.1 使用图像选取器和UIImagePicker-Controller 474
18.2 实现图像选取器控制器委托 475
18.3 实际测试照相机和库 476
18.3.1 设计界面 477
18.3.2 实现照相机视图控制器 477
18.4 小结 481
第19 章 应用程序本地化 482
19.1 本地化体系结构 482
19.2 字符串文件 483
19.2.1 字符串文件里面是什么 484
19.2.2 本地化的字符串宏 484
19.3 现实中的iPhone:本地化应用程序 485
19.3.1 创建LocalizeMe 485
19.3.2 测试LocalizeMe 489
19.3.3 本地化nib 文件 489
19.3.4 本地化图像 492
19.3.5 生成和本地化字符串文件 493
19.3.6 本地化应用程序显示名称 495
19.4 小结 496
第20 章 未来之路 497
20.1 别陷进单一的思路里 497
20.1.1 苹果公司的文档 497
20.1.2 邮件列表 498
20.1.3 论坛 498
20.1.4 网站 499
20.1.5 博客 499
20.2 参考资料 500
20.3 作者 501
20.4 再会 501
· · · · · · (收起)
读后感
摘录一段: ----------------------------- 在此示例中,所有按钮的大小都是相同的,因此它们都可见且可以使用,但是屏幕上还存在大量未使用的空白空间。如果支持更改按钮的宽度或高度会更好一些,这样可以减少界面上的空白空间。可以自由调整这6个按钮的自动调整属性,并根据...
就一句话,看完一本书,如果不看其他东西,就是知其然不知其所以然。快餐教程特色。 就和当初win32的编程统统使用vc的mfc一样。整个一讲完了,程序入口在哪里还是糊里糊涂。就知道一个界面怎么做。可是光知道界面怎么做,能写出好代码吗?
苹果系列产品的魅力难以抵挡,培养了一大批忠实的“果粉”,也成为科技、创新、潮流的代名词。其推出的iPhone 4手机备受消费者推崇,在市场上的杀伤力呈显增强的趋势,尤其在中国市场,更出现了一机难求的局面。 在成功推出iPad和iPhone系列产品后,今年苹果公司又推出了平板...
I am interested in iPhone development , and really hope to know more friends who focus ondevelopment or just business , I really hope to study from each other, and inspire from each other. I have some experience to migrate opencv to iPhone, and some barco...
用户评价
作为一个已经接触过一些Android开发的朋友,我一直很好奇iOS开发的生态系统究竟是什么样的。《iPhone 4与iPad开发基础教程》这个书名,让我感觉它可能提供了一个概览性的视角,来帮助我理解iOS开发的核心概念。《iPhone 4与iPad开发基础教程》这本书,我希望它能够为我建立一个宏观的认知框架。比如,它能否解释iOS应用程序的生命周期,从启动到销毁的整个过程是怎样的?我希望书中能清晰地描绘出Cocoa Touch这个框架的层次结构,以及各个组件之间的关系。对于我来说,理解数据持久化是一个重要的环节,我期待书中能介绍Core Data或UserDefaults等数据存储方案,并给出实际应用中的示例。此外,在UI开发方面,我希望它能不仅仅停留在控件的使用,而是能讲解一些基础的布局原理,比如Auto Layout,以及如何在不同尺寸的设备上实现自适应布局。这本书如果能让我理解iOS应用开发的基本工作流程,以及如何将设计稿转化为可运行的应用,那对我来说将非常有价值。
我是一名即将毕业的大学生,正在寻找能够为我未来的职业生涯增添一技之长的技能。《iPhone 4与iPad开发基础教程》这本书,听起来非常适合我这种初学者。我希望这本书能够提供一个结构化的学习路径,让我从零开始,逐步掌握iPhone和iPad应用程序开发的核心技术。我期待书中能详细介绍Objective-C语言的方方面面,包括其语法、面向对象特性、内存管理机制(ARC)等,并提供大量的练习题来巩固所学知识。此外,我非常想了解如何在Xcode中进行代码调试,如何有效地定位和修复bug。这本书如果能涵盖一些用户界面设计的最佳实践,比如如何创建清晰直观的用户体验,以及如何处理各种用户交互,那就更好了。我还希望书中能对iOS应用的发布流程有一个初步的介绍,让我了解如何将自己开发的应用程序提交到App Store。总而言之,我希望这本书能为我打下坚实的iOS开发基础,为我未来的职业发展铺平道路。
我最近刚购买了一台iPad,并且一直对在上面开发应用充满热情。《iPhone 4与iPad开发基础教程》这本书,对我而言,可能是一个探索iOS开发世界的第一扇门。我希望它能够以一种非常“上手”的方式来引导我。例如,书中最好能有详细的步骤指导,一步步带领我完成从环境搭建到第一个应用运行的全过程。我期待书中能详细介绍如何下载和安装Xcode,如何在Xcode中创建新项目,以及如何理解项目中的各种文件和文件夹的含义。然后,我希望能够通过一些简单的实例,学习如何使用Interface Builder来设计用户界面,将视觉元素拖拽到屏幕上,并连接到代码中。对于初学者来说,理解事件驱动的编程模型尤为重要,比如用户点击按钮时会发生什么,我希望书中能对此进行深入浅出的讲解,并提供相关的代码示例。此外,我对iPad独有的特性,如分屏模式、多任务处理等,也充满了好奇,希望书中至少能提及一些基础的应用适配思路,让我对iPad开发有初步的认识。
作为一名对移动开发充满好奇的新手,我一直渴望能够亲手打造属于自己的iPhone或iPad应用程序。然而,市面上琳琅满目的开发书籍,常常让我望而却步,不知道从何下手。《iPhone 4与iPad开发基础教程》这本书的名字,听起来就非常务实,直指核心,让我看到了希望。我非常期待它能带领我穿越繁杂的开发环境,一步步领略Objective-C的魅力,理解Cocoa Touch框架的精髓。想象一下,这本书能够像一位耐心的导师,详细讲解每一个概念,用清晰易懂的语言解释那些看似晦涩的技术术语,例如MVC设计模式、委托模式、通知中心等等。我希望书中能提供大量的代码示例,并且这些示例能够循序渐进,从最简单的“Hello, World!”开始,逐步深入到更复杂的UI元素构建、数据管理和网络通信。此外,如果书中还能包含一些实际项目的开发流程,比如如何从零开始构建一个简单的待办事项列表应用,或者一个基础的图片浏览器,那将是锦上添花。我特别看重的是,这本书能否让我真正理解“为什么”这样做,而不仅仅是“怎么做”。例如,在讲解UI布局时,我希望作者能解释不同布局方式的优缺点,以及在什么场景下应该选择哪种方式。这种深入的讲解,将有助于我建立扎实的开发基础,为日后独立解决问题打下坚实的基础。
我是一名有着几年Web开发经验的程序员,现在正考虑跨足iOS开发领域。《iPhone 4与iPad开发基础教程》这本书的标题,让我觉得它可能是一个不错的切入点,尤其是在这个相对基础的层面。我希望这本书能够在我已经掌握的编程逻辑基础上,快速介绍iOS开发特有的概念和工具。例如,我对Xcode这个集成开发环境非常好奇,希望书中能详细介绍它的各种功能,包括界面构建器、代码编辑器、调试器等,并给出一些高效的使用技巧。同时,Objective-C这门语言,虽然可能不如Swift现代,但作为iOS开发的基石,掌握它依然至关重要。我期待书中能清晰地梳理Objective-C的语法特性,特别是其面向对象的设计理念,以及在iOS开发中的应用。更重要的是,我希望这本书能够在我熟悉了基本的语法和工具后,引导我学习如何构建基本的iOS应用界面,例如使用UIKit框架来创建按钮、文本框、列表等UI控件,并理解它们的属性和事件处理机制。对于熟悉其他编程语言的我来说,一本好的教程应该能帮助我快速建立起对新语言和新平台的“类比”认知,并突出iOS开发与我原有技术栈的异同之处。
跟iOS是一本书呀。
适合作为第一本iPhone开发书籍,内容比较全面,能解决入门过程中遇到的各种基础性问题。如果需要深入学习,还要看其他深入的书或者从互联网寻找答案!
很全面的入门书,书很厚,推荐挑选着看。
好难啊好难啊好难啊T T····不想做这个了···T T
还可以