出版社:人民邮电出版社
年代:2012
定价:108.0
本书介绍了SDK和Object-C的基础知识,以及如何构建并检验简单的应用模型,并提供如何利用iPhone/iPad的相机、GPS和重力感应器进行工作的方法和技巧,最终介绍了如何优化、测试并发布已开发的应用程序。
目 录
介绍
你的大脑在思考iOS开发。在这里你将尝试学习一些内容,而你的大脑则使你的学习不会太持久。你的大脑在想,“最好离开这个房间去做一些更重要的事情,比如远离野兽,或者裸体滑雪哪一个主意更糟。”因此,你如何才能骗你的大脑去思考,获取足够的知识来开发自己的iPhone和iPad应用程序呢?
这本书适合谁 xxiv
元认知:关于思考的思想 xxvii
下面是你可以怎样使你的大脑屈服 xxix
读我 xxx
技术审查小组 xxxii
鸣谢 xxxiii
1 入门 使用iOS的移动终端
iPhone改变一切
iPhone 4“又一次改变了一切”。而现在你所拥有的iPad也将要改变一切。iOS设备现在能够胜任文字处理、电子阅读和摄像机的工作。它们被应用在商业和医学领域作为企业设备,而App Store作为一个平台被每一个开发人员所使用,从个人产品到大牌公司产品。苹果公司提供了软件,而我们将帮助你获得知识,我们相信你已经拥有了超级高的热情。
因此,你想要建立一个iOS应用程序…… 2
……因为每个人都想要一个! 3
应用程序生活在名为iTunes的宇宙中 4
作出决定的时间 5
所有的一切都从iOS SDK开始 6
四处看看 7
Xcode包含了应用程序模板,帮助你开始创建新的应用程序 8
Xcode是一个全功能的集成开发环境 9
Xcode是你的iOS项目的枢纽 10
在Xcode中建立你的界面 14
添加按钮到你的视图中 15
iOS模拟器让你可以在Mac上测试你的应用程序 17
iDecide的逻辑 18
替换按钮的文本 19
你正在使用模型-视图-控制器模式 23
iDecide实际上很简单 24
发生了什么 26
使用GUI编辑器连接UI控制到代码 27
组件可以触发特定事件 28
连接你的事件到方法 29
你已经创建了自己的第一个iPhone应用程序! 31
你的iOS工具箱 39
2 iOS 应用程序模式 你好,Renee!
应用程序有很多移动部件。
好吧,实际上,它们没有任何真正的移动部件,但它们确实有很多的UI控件。一个典型的iOS应用程序绝对不仅只有一个按钮,那么是时候来创造一个了。使用一些很复杂的控件,意味着你需要付出比平常更多的精力去考虑如何设计你的应用程序。在这一章中,你将学习如何把一个更大的应用程序与iOS SDK中使用的基本设计模式结合在一起。
首先,我们需要想出Mike(真的)想要什么 43
应用程序设计规则——iOS HIG 48
HIG对选择器和按键的准则 51
为InstaEmail创建一个新的基于视图的项目 52
根视图的生命周期 54
我们需要数据 60
当你想要控制输入时使用选择器 61
选择器从数据源获取它们的数据…… 62
3 适于iOS的Objective-C 电子邮件需要多样化
我们在第2章中做了很多,但那是什么语言?
你编写的部分代码可能看起来很熟悉,现在是时候去发现在它们之下的到底是什么了。iOS SDK有一个很棒的工具,那意味着你不需要为任何事情编写代码,但是这并不代表你编写应用程序时不需要了解一些相关的底层代码,包括属性、消息传递以及内存管理。除非你不使用它们,所有的应用程序都只用默认部件!但你想要更多的部件,不是吗?
Renee正在怀疑…… 100
为自定义输入提供空间 101
头文件描述到你的类的接口 103
自动生成的访问器还处理内存管理 109
为了保持你的内存清晰明了,你只需要记住两件事情 111
但是当Mike完成输入时…… 121
自定义你的UITextField 123
使用键盘的组件会要求它出现…… 124
请求UITextField放弃聚焦 125
在Objective-C中的消息使用命名参数 127
当完成按键被按下时,使用消息传递告诉我们的视图控制器 128
自定义便签在哪里 132
你的Objective-C工具箱 139
4 多视图 一个带有视图的表格
大部分iOS应用程序的视图都不止一个。
我们编写过一个很酷的带有一个视图的应用程序,但是只要用过智能手机的人都知道,大部分应用程序并不是那样的。一些令人印象深刻的iOS应用程序,通过使用多视图处理复杂的信息,来完成一个完美的工作。我们将要开始学习导航控制器和表格视图,就像你在你的邮件和联系人程序中看到的那样。我们仅仅只需要进行一次转折……
那么,这些视图是如何结合在一起的呢 145
导航模板使多个视图结合在一起 146
建立表格试图 147
一个表格是一个单元格的集合 152
只是几个饮料…… 160
plist是保存和加载数据的一种简单方法 162
数组(以及更多)内置支持plist 165
使用一个详细视图向下钻取数据 168
仔细观看详细视图 169
使用导航控制器在视图之间切换 179
导航控制器维护一个视图控制器栈 180
字典以键值对存储信息 184
调试——iOS开发的阴暗面 187
调试冒险旅程上的第一步:控制台 188
当你的应用程序运行时与其互动 189
Xcode在你的应用程序中断后也会给你支持 190
Xcode调试器显示你的应用程序的状态 191
你的iOS工具箱 195
5 plist 和模式视图 改善你的应用程序
所以,你有了一个快要完成的应用程序……
这是每一个应用程序必需的过程!你使一些功能工作,决定添加一些东西,需要一些代码重构,并回复一些从应用程序商店得到的反馈。开发一个应用程序,不会一直是一个线性的过程,而是在这个过程中不断地去学习。
一切都随着Sam而开始…… 198
使用调试器来研究崩溃的原因 200
更新你的代码,使之处理一个plist的字典 203
详细视图需要数据 206
另一个键值是关键 207
我们有一个可用性问题 213
允许使用公开按键显示这里有更多详细信息 215
销售势头强劲 218
使用导航控制器按键添加饮料 223
按键应该创建一个新的视图 227
我们需要一个视图……但没必要是一个新的视图 228
视图控制器定义视图的行为 229
nib文件包含UI组件和连接…… 230
你可以像处理其他类那样,子类化和扩展视图控制器 231
模式视图让用户聚焦在手头的任务 236
任何试图都可以呈现出模式视图 237
我们的模式视图没有导航栏 242
创建保存和取消按键 244
编写保存和取消动作 245
你的iOS工具箱 249
6 保存、编辑和整理数据 每个人都是一个编辑……
显示数据是很好,但是添加和编辑信息才是真正使应用程序能够运行的关
键。
DrinkMixer是伟大的——它使用了一些单元格自定义,并使用plist字典来显示数据。它是一个有借鉴意义的应用程序,你已经在添加新饮料上有了一个良好的开端。现在,是时候给用户修改数据(保存、编辑和整理)的能力了,使它对每个人都更有用。在这一章中,我们会看看iOS应用程序中的编辑模式,以及如何引导用户使用导航控制器。
Sam准备添加一个Red-Headed School Girl 252
……被键盘挡住了 253
将你的内容装进一个滚动视图 255
滚动视图与屏幕尺寸一致 257
键盘改变了可见区域 260
iOS通知你有关键盘的事情 262
在默认通知中心为事件注册 263
键盘事件告诉你键盘的状态和大小 269
表格视图不知道它的数据已经改变 288
数组也会发生故障 292
表格视图已经内置了对编辑和删除的支持 300
你的iOS开发工具箱 313
Sam有了另一个项目的想法…… 314
7 向iPad 迁移 我们需要更多的空间
iPhone很伟大,但是屏幕再大一点会更好。
当iPad第一次出现时,一些评论批评它“只是一部大点儿的iPhone”(但是,唔,它不是电话)。在很多方面,屏幕创造了很多机会,给予用户更好的交互体验。更大的屏幕意味着阅读会更舒适,网页会更容易查看,并且使设备看起来更像是一本书,或者一个日历,或者你已经知道如何使用的其他很多事物,例如一个菜单……
在iPad上的DrinkMixer 316
iPad模拟器 318
HIG同样涉及了iPad 319
使用Xcode来建立你的通用应用程序 326
检查你的设备 334
旋转是iPad的关键 337
视图持久性的问题 345
不要忘记tableview 346
你的iOS开发工具箱 359
8 标签栏和核心数据 企业应用程序
企业应用程序意味着以不同方式管理更多的数据。
大大小小的公司是iPhone和iPad应用程序的重要市场。一个带有定制应用程序的小型手持设备,可以在员工外出办事时为公司做出巨大贡献。大多数这种类型的应用程序是用来管理大量数据的,而且自从iOS 3.0,开始有了内置的核心数据支持。有了核心数据和另外一个新的控制器(标签栏控制器),我们可以为正义建立一个应用程序!
HF赏金猎人 362
一个新的iPhone控件 368
选择一个模板开始iBountyHunter 372
对于通用应用程序有不同的结构 374
画出iBountyHunter iPhone如何工作…… 376
……以及它如何适应通用应用程序 377
创建逃犯列表视图 382
记下来:抓获视图 384
一个视图的内容实际上是子视图 392
在与Bob的快速会面之后…… 394
核心数据让你聚焦在你的应用程序 396
核心数据需要知道去加载什么 397
核心数据使用一个管理对象模型描述一个实体 398
建立你的逃犯实体 399
使用一个NSFetchRequest去描述你的搜索 410
Bob的数据库是一个资源 417
返回核心数据堆栈 418
模板为一个SQLite DB建立东西 419
iOS应用程序是只读的 421
iPhone的应用程序结构定义了你可以在哪里读取和写入 422
复制数据库到Documents目录 423
你的核心数据工具箱 444
9 核心数据的迁移和优化 事情改变了
我们有了一个伟大的应用程序在工作。
iBountyHunter成功加载了Bob需要的数据,让他可以简单地查看逃犯。但是,当数据发生改变时会怎么样?Bob需要一些新的功能,那会对数据模型做些什么?在本章中,你将学会如何处理你的数据模型变化,以及如何使用更多的核心数据特性。
Bob需要文档 446
任何事情都源于我们的对象模型 449
数据没有被更新 452
数据迁移是一个常见的问题 453
迁移旧的数据到新的模型 454
Xcode让你轻松地命名数据模型版本 455
核心数据可以“轻量化”迁移数据 457
这里是你目前为止所做的…… 461
Bob有一些设计想法 462
你的应用程序拥有自己的生命周期…… 472
多任务衔接的规则 473
给Bob的一个快速演示 476
为过滤数据使用判断 478
我们需要在NSFetchRequest上设置一个判断 479
核心数据控制器类提供高效率的结果处理 486
一些高效的一体化流程 487
创建新的FetchedResultsController获取方法 488
我们需要刷新数据 493
你的数据工具箱 499
10 照相机、地图套件与核心位置 现实世界中的证明
iOS设备知道它们在哪里且看到了什么。
任何iPhone、iPod Touch或者iPad的用户都会知道,这些设备不仅仅只是管理数据,它们还可以拍摄照片,找出你的位置,并通过应用程序把那些信息放在一起。这些华丽的功能只需通过点击进入iOS提供给你的工具就可以实现,你可以很轻松地导入图片、位置和地图,而不需使用很多的代码。
对于Bob来说,支付需要证明 502
应用照相机的方式…… 511
有方法进行检查 521
使用动作表单提示用户 522
Bob除了时间以外,还需要位置 528
核心位置可以通过多种方法找到你 534
添加一个新的框架 536
只是纬度和经度没有为Bob工作 544
iOS中的地图套件 545
为地图做一些小的自定义设置 546
注解需要多一些的工作技巧 553
完整执行注解协议 554
你的位置工具箱 561
11 iPad UI 自然的界面
iPad是关于现实世界中存在的一切。
我们已经在前几章为一个已有的应用程序DrinkMixer建立了一个基本的iPad端口,但现在是时候来建立一个界面,让它与一些现实世界的东西一起工作了。通过模仿人们在现实世界使用的东西,用户在打开应用程序时会知道如
何使用该界面。我们将使用一些现实世界的元素,帮助Bob抓住坏人……
Bob也需要iPad应用程序…… 564
iOS HIG用户体验指南 567
你的界面也要迭代式 568
BountyHunterHD是基于一个分拆视图控制器的 570
统一自定义的东西 580
似乎我们有一个麻烦…… 585
UIWebview有很多选项 586
HTML、CSS和Objective-C 588
使用UIWebView 588
你的NUI工具箱 599
i 遗留问题 主要的4件事情(我们没有讲述的)
究竟是不是有什么事情没有说呢?我们知道你想说什么……
当你认为工作已经完成时,其实还有更多的事情。我们不会在没有给你
讲述一些额外细节的情况下就结束,有些事情只是没有合适的地方放入
书中。至少,你要能够拿着这本书四处移动,而无需一个金属轮在底部。
因此,瞥一眼,看看你(仍然)可能错过了什么。
#1.国际化和区域化 602
区域化字符串资源 604
#2.视图动画 606
#3.加速计 607
理解设备的加速度 608
#4.一两句话简单地说说游戏…… 609
Quartz和OpenGL 610
ii 准备发布一个应用程序 为App Store做好准备
你想要让你的应用程序到App Store,对吗?
目前为止,我们已经在模拟器中基本完成了应用程序,一切都很好。但是要让事情进入下一个阶段,你需要在申请一个应用程序进入App Store之前,在一部真正的iPhone、iPad或iPod Touch上安装这个应用程序。而唯一可以做到这件事情的方法,是注册成为苹果的开发者。即使这样,也不仅仅是在Xcode中点击一个按键,让你编写的应用程序安装到个人设备上的问题。要做到这一点,现在是时候与苹果公司谈谈了。
苹果的规矩 612
配置文件把它们整合到一起 613
在Organizer 中保持跟踪 614
Head First系列图书的版式(以及封面)很特别,可令人阅读起来轻松愉快,不像常见的大部头科技书那样:规规矩矩的版式,字里行间透着呆板、学究与教化。Head First系列图书的编写方式采用引导式教学,不直接告诉你该怎么做,而是利用故事当作引子,带领读者思考并想办法解决问题。解决问题的过程中又会产生一些新的问题,再继续思考、继续解决问题,这样可以加深体会。作者还利用歪歪斜斜的手写字体,增加“现场感”。书中精心设计许多轻松搞笑的对白,让学习过程不会太枯燥。《深入浅出iPhone/iPad开发(第2版)》是HeadFirst系列图书的一本最新力作。全书通过轻松的图文方式,由浅入深地向读者介绍SDK和Object-C的基础知识,以及如何构建并测试简单的应用模型,并提供如何利用iPhone/iPad的相机、GPS和重力感应器进行工作的方法和技巧,最终介绍了如何优化、测试并发布已开发的应用程序。 《深入浅出iPhone/iPad开发(第2版)》面向各层次的苹果产品开发人员,尤其适合初学的开发者阅读使用。【作者简介】Dan Pilone是Element 84的创始人及合伙人。他曾经为美国国家航空航天局(NASA)、Hughes公司、ARINC、UPS和美国海军研究实验室设计并实现过系统。Dan为O’Reilly、iPhone训练营以及私人开发团队教授过许多iPhone和iPad开发课程。他曾经在华盛顿天主教大学教授项目管理、软件设计和软件工程。Tracey Pilone是Element 84的项目经理,Element 84 创办于华盛顿地区,提供移动、网络和后台开发服务。她最近的项目不但包括为海军研究实验室和学术商务顾问写作的工作,而且她还参与另外几本Head First图书的写作,并持续着参与Element 84的软件开发项目。
书籍详细信息 | |||
书名 | 深入浅出iPhone/iPad开发站内查询相似图书 | ||
9787115300300 如需购买下载《深入浅出iPhone/iPad开发》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 人民邮电出版社 |
版次 | 1版 | 印次 | 1 |
定价(元) | 108.0 | 语种 | 简体中文 |
尺寸 | 24 × 21 | 装帧 | 平装 |
页数 | 150 | 印数 | 4000 |
深入浅出iPhone/iPad开发是人民邮电出版社于2013.1出版的中图分类号为 TN929.53 ,TP368.32 的主题关于 移动电话机-应用程序-程序设计 ,便携式计算机-应用程序-程序设计 的书籍。
(美) 皮隆 (Pilone,D.) , (美) 皮隆 (Pilone,T.) , 著
(美) 皮隆 (Pilone,T.) , (美) 皮隆 (Pilone,D.) , (美) 皮隆 (Pilone,P.) , (美) 麦克劳林 (McLaughlin,B....
(美) 丹皮洛内 (Pilone,D.) , (美) 皮洛内 (Pilone,T.) , 著
(美) 马克 (Mark,D.) , (美) 纳丁 (Nutting,J.) , (美) 拉马赫 (LaMarche,J.) , 著
杨宏焱, 著
(美) 贝克林 (Backlin,G.) , 著
(美) 特里比托斯基 (Trebitowski,B.) , (美) 艾伦 (Allen,C.) , (美) 阿佩尔克莱因 (Appelcline,S.) , 著
(美) 皮隆 (Pilone,D.) , (美) 皮隆 (Pilone,T.) , 著
林政, 编著