ITPub博客

首页 > 人工智能 > 人工智能 > iPhone和iPad编程入门 零基础学习编写App

iPhone和iPad编程入门 零基础学习编写App

原创 人工智能 作者:qinghuawenkang 时间:2018-11-14 14:56:21 0 删除 编辑

移动开发经典丛书
iPhone 和 iPad 编程入门
零基础学习编写 App
[美] Wendy L. Wise 著
张久修 陈乐辉 赵 勉 译
北 京
EISBN: 978-1617292651
Anyone Can Create an App: Beginning iPhone and iPad Programming
Wendy L. Wise
Original English language edition published by Manning Publications, 178 South Hill Drive,
Westampton, NJ 08060 USA. Copyright © 2017 by Manning Publications. Simplified Chineselanguage edition copyright © 2018 by Tsinghua University Press. All rights reserved.
本书中文简体字版由 Manning Publications CO.授权清华大学出版社出版。未经出版者书面许可,
不得以任何方式复制或抄袭本书内容。
北京市版权局著作权合同登记号 图字: 01-2017-4217
本书封面贴有清华大学出版社防伪标签,无标签者不得销售。
版权所有,侵权必究。侵权举报电话: 010-62782989 13701121933
图书在版编目(CIP)数据
iPhone 和 iPad 编程入门 零基础学习编写 App/(美) W. L. 怀斯(Wendy L. Wise) 著;张久
修,陈乐辉,赵勉 译. —北京:清华大学出版社, 2018
(移动开发经典丛书)
书名原文: Anyone Can Create an App: Beginning iPhone and iPad Programming
ISBN 978-7-302-48875-0
Ⅰ. ①i… Ⅱ.
W… 张… 陈… ④赵 Ⅲ. ①移动终端-应用程序-程序设计
Ⅳ. ①TN929.53
中国版本图书馆 CIP 数据核字(2017)第 287728 号
责任编辑 :王 军 韩宏志
装帧设计 :孔祥峰
责任校对 :牛艳敏
责任印制 :沈 露
出版发行 :清华大学出版社
网 址 : http://www.tup.com.cn http://www.wqbook.com
地 址 :北京清华大学学研大厦 A 座 邮 编 : 100 084
社 总 机 : 010-62770175 邮 购 : 010-62786 544
投稿与读者服务 : 010-62776969, c-service@tup.tsinghua.edu.cn

: 010-62772015, zhiliang@tup.tsinghua.edu.cn
印 装 者 :三河市金元印装有限公司
经 销 :全国新华书店
开 本 : 170mm×240mm
印 张 : 20.75 字 数 : 407 千字
版 次 : 2018 年 1 月第 1 版 : 2018 年 1 月第 1 次印刷

印 数 : 1~3500
定 价 : 68.00 元
产品编号: 075685-01

译 者 序
iOS 系统诞生于 2007 年 1 月初,由苹果(Apple)公司发布。在 iOS 系统诞生的
同时,颠覆手机行业的 iPhone 也横空出世,这预示着智能手机时代从此到来。多
年来,搭载 iOS 操作系统的 iPhone 因其流畅的操作体验以及精湛的制作工艺,一
直备受用户的好评与青睐。每年的苹果新品发布会以及苹果开发者大会也都备受
关注。
2017 年是苹果推出 iPhone 后的第十年, 因此苹果公司于北京时间 9 月 13 日凌
晨 1 点的新品发布会上发布了第一款 iPhone 全屏幕手机,并将其命名为 iPhone X,
以纪念 iPhone 诞生十周年(在罗马数字中 X 代表 10)。这意味着 iPhone 全屏幕手
机时代的到来。一周后,于北京时间 9 月 20 日凌晨 1 点,苹果正式发布了最新一
代的操作系统 iOS 11,而作为 iOS 应用的集成开发工具(IDE)的最新版 Xcode 9 的
更新也同时推出,这也意味着拥有增强现实(AR)功能和机器学习功能的应用,将
如雨后春笋般陆续出现在 App Store 中。而作为 iOS 开发者或即将成为 iOS 开发
者的你,面对如今的智能手机时代,以及正在到来的人工智能时代,怎能不怦然
心动、跃跃欲试?
iOS 开发的主流编程语言是 Objective-C 和 Swift,本书所使用的编程语言是
Swift,且是最新的 4.0 版本。 Swift 是苹果于 2014 年在苹果开发者大会上发布的
新开发语言,它易学易用,是第一套具有与脚本语言同等表现力和趣味性的系统
编程语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果
平台的应用程序。 Swift 在发布后短短几年间便获得了高速发展,且于一年后便开
源,在不久的将来该语言也将在服务器端大行其道。因此 Swift 编程语言是一名
合格的 iOS 开发者必须掌握的。
本书是一本优秀的 iOS 开发入门书籍,作者本着“人人都可以学习编程”的
宗旨,用最朴素幽默的文笔、浅显易懂的语言和循序渐进的学习方式,引领初学
者一步步掌握 iOS 编程概念和基础技能。不仅如此,作者还向读者时刻传达着一

II iPhone 和 iPad 编程入门 零基础学习编写 App
种学习编程的理念:相信自己并保持耐心。确实,不止在学习编程的过程中应当
如此,在实际项目开发中,保持自信和耐心尤为重要。因为在这个过程中你将遇
到各种困难、 Bug、甚至技术瓶颈,唯有拥有自信和耐心者,才能时刻保持冷静
的头脑去分析并制定相应的策略,最终冲破一道道关卡从而获得宝贵的开发经验
并不断成长。当你决定拿起本书时,所要做的便是坚持再坚持,以及一次又一次
的实践,在这个过程中,你要不断鼓励自己,相信你会在本书中获得一次又一次
的成就感。
本书的作者有着多年的 iOS 平台开发及项目管理经验,即使是最基础的编程
概念都有着自己的真知灼见,且讲解独到,想必读者们定会受益匪浅!而本书的
译者们同样有着多年且丰富的 iOS 项目开发经验,来自国内知名的互联网公司。希
望这本中文版的 iOS 开发入门书籍能够真正为你打开一扇通往编程世界的大门。
这里要感谢清华大学出版社的编辑,尤其是李阳编辑,在翻译过程中通过远
程沟通来耐心地指导我们翻译上的问题。没有你们的帮助和指导,本书中文版也
不可能这么快与读者见面。
作为本书的译者,我们本着“诚惶诚恐”的态度翻译这本入门书籍,为避免
误导初学者,所以文中的一字一词都会反复斟酌。但鉴于译者水平有限,错误和
失误在所难免,如有任何意见和建议,请不吝指正。本书全部章节由张久修、陈
乐辉、赵勉翻译,参与本书翻译工作的还有张淼、聂家发、陈昕、刘超,在此一
并表示感谢。

序 言
终于完成了这本书,兴奋之情难以言表。我期望看到更多的人学习编程,但
有些人面对庞大的编程世界心生畏惧,难以寻得一个好的学习起点。我希望本书
能够对他们有所帮助。
在大学里我并没有攻读计算机科学专业,所以我在开启计算机生涯时的处境
与你现在的处境或许很相近。在 2007 年的第一款 iPhone 面世时,我也拥有了属
于自己的第一部 iPhone,从此我便深深地迷恋上了它。我希望能够创建自己的应
用,所以我找到了一个讲授 iOS 编程的本地培训机构,于是我便去聆听了。从那
时起,我就一直在 iPhone 上编程。
自你开始编程后,你会注意到的一件事是,你的朋友会经常提到他们对应用
有一个很棒的主意。然后他们会询问你是否可以为他们创建这样的应用,并且他
们将许诺与你一起分享他们认为肯定会获得的巨额利润。我收到了很多这样的请
求,而我的一般回应是:他们应该学会自己创建应用。他们通常也会跟进一两句
评论,如不知道从何处入手、不够聪明、他们的大脑不适合编程,或者编程太难。
我不断否认这些东西——编写一个应用并不是让火箭升空,只要拥有足够的时间
及工具,我认为每个人都可以做到。
我也参与了很多关于女性的倡议:具体而言,就是试图鼓励更多女性进入科
学、技术、工程和数学(STEM)领域。为让她们对 STEM 感兴趣,同时结合上面我
所提到的对我的朋友的回应,导致我想为从零开始的初级程序员写一本书。虽然
本书不是专为女性而写的,但这绝对是我灵感的来源。
为什么我会选择 Manning 出版社?那是因为我以前买了 Manning 出版社出版
的很多图书,其质量都很好。并且多年前,我自愿为 Manning 出版社审阅手稿;
我已经审阅过很多手稿了,所以我对图书出版的整个过程已经非常熟悉(在很高的
层次上)。当初我决定写本书时,就知道必须与 Manning 出版社合作。我提交了我

IV iPhone 和 iPad 编程入门 零基础学习编写 App
对本书的想法,只等了几个星期,就收到了 Manning 出版社给予的肯定答复!这
让我诚惶诚恐!
这是一段漫长而有趣的旅程——一段免费之旅。这是一种交织着爱、乐趣、
恐慌、漫漫长夜、压力和幸福的劳作。这是我所撰写的第一本书,衷心感谢你的
阅读,希望你喜欢。
请记住:你足够聪明,并且你的大脑会理解这个主题。保持耐心——你可以
做到!

作者简介
Wendy L. Wise 在移动和应用开发方面有着广泛的背景, 并与几家《财富》 500
强公司进行过合作。在 17 年的技术生涯中, Wendy 曾担任软件开发高级总监、国
际移动应用高级产品经理、网络和移动技术的实践开发人员,以及其他许多技术
角色。 Wendy 完全拥抱其书呆子/极客的一面,正如你在阅读本书时所发现的一
样。在其业余时间, Wendy 喜欢啤酒、咖啡、摄影、野营以及户外运动。

致 谢
有很多人我都需要表示感谢,因为在他们的帮助下,我的这个疯狂梦想才得
以实现。感谢我最大的支持者:我的妻子 Jocelyn Whitfield。她相信我、支持我、
鼓励我,在我失落时让我重新振作。没有她我绝对完成不了这本书。感谢我父母
的鼓励和帮助,还有他们的养育之恩!感谢我所有的家人和朋友。或许你们并不
知道你们的爱和支持给予了我多大帮助,特别是 Clay、 Kristine、 Nancy 和 Ja。我
爱你们!
我还要感谢 Manning 出版社的优秀人物,是他们促成了这本书的出版:发行
人 Marjan Bace 以及编辑和制作团队的所有人,包括 Christina Taylor、 Janet Vail、
Tiffany Taylor、 Corbin Collins、 Melody Dolab、 Dennis Dallinik,以及所有在幕后
默默奉献的其他人员。
我由衷地感谢由 Ozren Harlovic 领导的非常了不起的技术审稿小组——
Stephen Byrne、 Mark Cooper、 Igor Delovski、 Olivier Ducatteeuw、 Laurence Giglio、
Pieter Gyselinck、 Marius Horga、 Jocelyn Jeriah、 Kelvin Meeks、 Drew Monrad、 Jason
Pike 和 Stuart Woodward——以及才华横溢的论坛贡献者们。他们的贡献包括:捕
捉技术错误、术语错误以及打字错误,并提出主题建议。通过了审查过程的每一
个建议以及通过论坛主题得以落实的每一条反馈,共同形成并塑造了该手稿。特
别感谢担任本书的技术编辑 Robin Dewson,以及技术校对员 Scott Steinman。

前 言
我假定你买这本书的原因是想要学习如何开发 iOS 应用,并且你从未有过任
何编码经验(好吧,或许你认识我,并且想要支持我)。无论哪种方式,你都将学
到很多东西,并乐在其中。本书适用于从未编写过任何代码的人,或者编写了一
些代码,但这些代码绝非 iOS 应用。我还假定你有耐心阅读本书、尝试书中的例
子,并在这些例子第一次没有有效地工作时能够重写它们。这就是编码的精髓所
在:调试(debugging)。即使是最好的开发人员也会出错,所以当你的代码在第一
次工作不正确的时候,请不要沮丧。保持耐心最重要。
为什么选择 iOS 应用?如果你告诉你的朋友, 你正在学习 iOS 开发(或 Swift,
或者开发 Apple 手机),他们可能会说:“哇,我听说这很难。为什么你不从更容易
的事情开始呢?”你的答案可以是:“我有编写应用的想法,我有耐心并且有意愿
去学习。我相信我能行。”人们可能会鼓励你去学习更简单的东西,比如超文本标
记语言(HTML,用于网页等)。其实这也挺好的,但你是真的因为想学习如何为
Apple 设备(使用 Swift)创建应用,所以你正在阅读本书。在这里我要告诉你,你
完全可以从 iOS 开始,并且你能够学会编写应用;只要付出时间、耐心和决心,
只要你敢想,终有一天你会成为这方面的专家。
在这本书中,我的目标是仅提供给你足够的用于完成下一步操作所需要知道
的内容,而并不会以填鸭方式向你灌输你现在所不需要知道的一些事情。换句话
说,我正在尝试使用即时学习技巧来讲授这门课程。这意味着虽然可能会有大量
资料来让你了解一个主题,但你并不需要超前学习所有这些内容。我会将所有这
些资料汇总,然后将其分解成你真正需要了解的较小部分,以便开始学习。
许多人对学习编程心存疑虑。编程世界是庞大的——有太多的编程语言和首
字母缩略词,并且有些程序员似乎常年不见天日。但请放心,你可以从学习基础
知识开始,并且我将引领你了解首字母缩略词和程序员行话。同时,可将编程视

VIII iPhone 和 iPad 编程入门 零基础学习编写 App
为另一种兴趣。你可以按需要花费尽可能多的时间,投入的时间越多,收获也将
越多。想象着在你学习编程的旅途中有我陪伴——我们将一起到达目的地。
每个开发人员在一开始学习基础知识时都是循序渐进的。即使是经验最丰富
的程序员也不得不从某处开始学起!没有哪个“俱乐部”是只允许某些特定的人
成为开发人员的。每个人都可以做到,也包括你。只要肯花时间学习基础知识、
理解概念,并进行实践,那么你也将很快成为 iOS 开发人员。
本书读者对象
本书针对纯粹的编程初学者(从未编写过一行代码, 并且不了解所要做的事情
的基本概念)。我做出如下假设:
y 你没有开发经验。
y 你想学习如何创建 iOS 应用。
y 你有可以用来编码的 Mac,或者你愿意购买 Mac。
y 你有耐心。
我希望本书能成为你开始学习编程的最佳之地,因为我知道你可以做到!
本书不适合哪些读者
如果你已是开发人员,并且已经熟悉诸如 for 循环、 while 循环和 if 语句等概
念,而你只想了解有关 iOS 的更多信息的话,这本书可能并不适合你。你可以找
到其他讲授 Swift 语法以及介绍移动开发与其他平台开发之间差异的书籍,而且
你可能很快就会觉得这本书很无聊。 但是, 如果你是一名程序员, 且只熟悉 HTML
或 COBOL 等语言,那么绝对可以从这本书中学到一些东西。
路线图
本书分为三个部分:
y 第Ⅰ部分(第 1~8 章)——该部分将开启你的编程生涯。你将学习编程的
基础知识、了解 Xcode 和 Swift Playground,并将从编写一些简单的应用
来开始学习。
y 第Ⅱ部分(第 9~16 章)——这些章节将向你介绍创建应用所需的其他一些
技能和概念,包括 while 语句、 switch 语句、数组和集合、故事板
(storyboard)、 ViewController(视图控制器)以及表。第Ⅱ部分的内容比第Ⅰ
部分更高级,所以请先确保你已理解第Ⅰ部分内容。
y 第Ⅲ部分(第 17~27 章)——在这些章节中, 你将创建一个 LioN(喜欢或不
喜欢)应用。 LioN 应用允许用户将项目添加到列表中,并评价他们是否喜

欢这些项目。 当我在商店里购物时, 永远不会记得我喜欢哪种牙膏; 所以,
我会打开 LioN 应用并搜索牙膏(toothpaste),该应用将显示我所喜欢的牙
膏。这款应用将作为你继续创建自己的应用的一个完整示例。
源代码下载
你可以下载本书的所有项目,并随时进行参考。其可在 Manning 网站(www.
manning.com/books/anyone-can-create-an-app)和 GitHub(https://github.com/wlwise/
Anyone Can CreateAnApp)上找到。
另外,也可扫描本书封底的二维码下载源代码。
软件/硬件要求
以下是你开始学习编程的必备条件:
y Mac 电脑——如果你没有 Mac,可根据第 1 章列出的基本要求去购置。
y Xcode——该集成开发环境(IDE)是创建应用所需的主要工具。你可能已经
使用诸如 Microsoft Word 的程序来创建文档。而 Xcode 是你用来创建程序
的应用。附录 A 有安装该免费工具的说明,你将在第 2 章中开始使用它。
我还将在第 4 章中详细介绍 Xcode。
y 苹果开发者计划(Apple Developer Program)的会员资格——附录 A 说明了
如何加入。有两个选择:免费会员(我推荐)和 99 美元的会员资格。
在线资源
本书最能帮助到你的办法是浏览其网站: www.manning.com/books/anyone-cancreate-an-app。你可以下载示例、在 Author Online 论坛上提出有关练习的问题,
并与其他读者交流。我会尽可能回应你的论坛问题,当然你也可以告诉我你对这
本书的看法。
Apple 是另一个用于探索和学习的好地方,包括苹果开发者中心(Apple Developer
Member Center, http://mng.bz/3OjD)的资源。你将需要成为苹果开发者计划的成员;
有关更多信息, 请参阅附录 A。 你并不需要为了使用这本书而去阅读那些文档——我
仅是为你提供定位。 Getting Started 的资源是开始学习的好地方,且 Guides 部分是另
一种很好的资源。
Stack Overflow(www.stackoverflow.com)是获取有关具体问题的答案的另一个
好地方。可以根据你的具体需求进行搜索,几乎可以保证该问题已被问过,且其
他人已经回答。在搜索时应尽可能具体,否则将收到很多信息。

目 录
第Ⅰ部分 第一个应用
第 1 章 入门···································3
1.1 蓝图: iPhone 和 iPad 开发····· 3
1.1.1 一些关键术语 ·················· 4
1.1.2 开发和编程的区别··········· 4
1.1.3 客观地看待 Swift············· 5
1.1.4 你将创建的应用··············· 5
1.2 了解需要记住哪些内容·········· 6
1.2.1 理解并牢记关键概念······· 7
1.2.2 语法·································· 7
1.2.3 伪代码的重要性··············· 8
1.3 创建 iPhone 和 iPad 应用需要
做哪些准备···························9
1.3.1 你需要一台 Mac ·············· 9
1.3.2 Xcode: iPhone 和 iPad
开发环境························
11
1.3.3 一些有用的资源············· 11
1.4 小结········································ 12
第 2 章 构建你的第一个应用········13
2.1 首次启动 Xcode ···················· 14
2.1.1 步骤 1:启动 Xcode ······ 14
2.1.2 步骤 2:创建一个新的
项目································
14
2.1.3 步骤 3:设置你的项目
选项 ·······························
15
2.1.4 步骤 4:运行空白应用 ··· 17
2.1.5 步骤 5:添加 Hello
World 文本·····················
18
2.1.6 步骤 6:运行应用 ········· 19
2.1.7 步骤 7:回顾本章内容 ··· 20
2.2 小结 ······································· 21
第 3 章 讲解第一个应用···············23
3.1 讲解 Xcode 模板··················· 23
3.2 了解单视图应用 ··················· 24
3.3 标签的定义 ··························· 25
3.4 模拟器的定义 ······················· 27
3.5 小结 ······································· 29
第 4 章 深入了解开发工具:
Xcode ·····························31
4.1 Xcode 面板说明···················· 31
4.1.1 Standard Editor··············· 32
4.1.2 Utilities 面板 ·················· 34
4.1.3 Main.storyboard·············· 35
4.1.4 Navigator 面板 ··············· 35
4.2 Xcode 图标说明···················· 37
4.3 自由探索 ······························· 38
4.4 小结 ······································· 39

第 5 章 捕获用户的操作:添加
按钮·································41
5.1 添加标签和按钮···················· 41
5.1.1 步骤 1:使用 Single View
App 模板开始创建新
项目································
42
5.1.2 步骤 2:向故事板添加
按钮和标签,然后运行
应用进行测试 ················
42
5.1.3 步骤 3:将按钮和标签
连接到代码(关联),然后
运行应用进行测试·········
43
5.1.4 步骤 4:添加代码以便按
钮被点击时更改 Label
上的文本,并运行应用
进行测试························
47
5.2 改变标签的显示···················· 49
5.3 小结········································ 52
第 6 章 按钮应用详解 ··················55
6.1 按钮说明································ 55
6.1.1 创建 outlet ······················ 55
6.1.2 创建 action ····················· 56
6.1.3 Xcode 有超能力 ············· 57
6.1.4 应用的前端:用户
界面································
58
6.2 文档········································ 59
6.3 注释:尽量简短明了············ 61
6.3.1 注释是你的朋友············· 61
6.3.2 如何注释代码 ················ 61
6.4 小结········································ 62
第 7 章 捕获用户的输入:添加
文本框 ·····························65
7.1 添加文本框···························· 66
7.1.1 步骤 1:创建一个新的
单视图应用····················
66
7.1.2 步骤 2:向视图添加一个
按钮和一个标签 ············
66
7.1.3 步骤 3:向视图添加一个
文本框····························
67
7.1.4 步骤 4:将按钮、标签和
文本框连接到代码(关联),
并测试应用····················
67
7.1.5 步骤 5:添加代码以更改
标签,并测试应用 ········
69
7.1.6 步骤 6:代码注释 ········· 71
7.2 小结 ······································· 71
第 8 章 玩转 playground··············73
8.1 Swift Playgrounds:学习与
他人互动······························· 73
8.2 Framework····························· 74
8.3 变量类型 ······························· 75
8.3.1 字符串···························· 77
8.3.2 回到数学课堂 ················ 78
8.3.3 双精度浮点型 ················ 79
8.4 小结 ······································· 81
第Ⅱ部分 理解关键的开发概念
第 9 章 控制应用的流程···············85
9.1 控制流程 ······························· 85
9.2 简单的 if 语句······················· 86
9.3 复合型 if 语句:或(||)··········· 88
9.4 复合型 if 语句:与(&&)······ 89
9.5 else if 语句····························· 90
9.6 else 语句 ································ 92
9.7 小结 ······································· 94

第 10 章 while 控制语句···············95
10.1 使用 while 语句控制
代码 ··································95
10.1.1 while 语句的实践 ······ 96
10.1.2 while 语句小结·········· 97
10.2 switch 语句 ·······················98
10.3 我伸出了几根手指? ····· 100
10.3.1 将所有组件添加到
故事板中 ·················
101
10.3.2 关联故事板·············· 101
10.3.3 创建变量以捕获所
猜测的数字:
numberGuessed········
102
10.3.4 当步进器被点击时更改
变量 numberGuessed
的值·························
103
10.3.5 连接 Guess!按钮······ 104
10.4 小结 ································ 106
第 11 章 集合·····························107
11.1 数组································· 107
11.2 for 循环语句 ··················· 109
11.3 字典································· 110
11.4 创建查找州名的应用 ····· 113
11.4.1 步骤 1:创建一个名为
StateAbbreviationLookup
的应用 ·····················
113
11.4.2 步骤 2:将 UI 组件
添加到故事板 ·········
113
11.4.3 步骤 3:将 UI 组件
连接到代码 ·············
114
11.4.4 步骤 4:创建州的缩写
和名称的字典 ·········
115
11.4.5 步骤 5:创建代码以实现
当用户键入州名时查找
州的缩写 ·················
115
11.5 小结································· 118
第 12 章 用故事板讲故事··········· 119
12.1 故事板 ···························· 119
12.2 创建一个故事板应用····· 119
12.2.1 步骤 1:创建一个名为
StoryboardExample 的
新应用·····················
120
12.2.2 步骤 2:添加第二个
场景·························
120
12.2.3 步骤 3:在第二个场景
上添加导航栏 ·········
122
12.2.4 步骤 4:将 Cancel 按钮
链接到第一场景 ·····
124
12.3 segue 的转场动画类型··· 124
12.4 小结 ································ 125
第 13 章 深入讲解 ViewController····················127
13.1 继承 ································ 127
13.2 关键字 override ·············· 130
13.3 ViewController 的生命
周期 ································ 131
13.4 应用的生命周期············· 133
13.4.1 步骤 1:创建一个名为
Lifecycle 的新项目····
133
13.4.2 步骤 2:添加第二个
ViewController ········
133
13.4.3 步骤 3:创建一个可解
约的 segue···············
134
13.4.4 步骤 4:重写五个
函数·························
135
13.4.5 步骤 5:测试应用··· 135
13.5 小结 ································ 137
第 14 章 创建选项栏··················139
14.1 Tab Bar Controller··········· 139
14.1.1 步骤 1:创建一个新的
应用·························
140
14.1.2 步骤 2:删除现有的
场景·························
140
14.1.3 步骤 3:在故事板中
添加一个 Tab Bar
Controller·················
141
14.1.4 步骤 4:在不同的选
项卡上添加标签······
142
14.1.5 步骤 5:在应用中添
加第三个选项卡······
145
14.2 小结 ································ 146
第 15 章 深入讨论表视图···········147
15.1 代理 ································ 147
15.1.1 从头开始制作
比萨饼 ·····················
147
15.1.2 委托比萨饼制作······ 148
15.2 协议 ································ 148
15.3 数据源 ···························· 149
15.4 创建表视图应用············· 149
15.4.1 步骤 1:创建一个
新的应用 ·················
150
15.4.2 步骤 2:将表视图添加
到 ViewController····
150
15.4.3 步骤 3:建立一个原
型单元格 ·················
152
15.4.4 步骤 4:为 UITableView 设置协议 ········ 152
15.4.5 步骤 5:创建比萨的
数据源 ·····················
157
15.4.6 步骤 6:将数据与
表关联 ·····················
159
15.5 小结 ································ 161
第 16 章 模式:学习缝纫···········163
16.1 设计模式及其定义 ········· 163
16.1.1 代码整洁 ················· 164
16.1.2 易于理解 ················· 164
16.1.3 可维护性 ················· 165
16.1.4 可扩展性 ················· 165
16.2 设计模式的类型············· 166
16.2.1 Model-View-Controller
设计模式·················
166
16.2.2 代理模式 ················· 168
16.2.3 备忘录模式 ············· 168
16.3 小结 ································ 169
第Ⅲ部分 创建 LioN 应用
第 17 章 活学活用: LioN 应用····173
17.1 Like it or Not··················· 173
17.2 开始 ································ 174
17.2.1 创建应用 ················· 175
17.2.2 添加 Navigation
Controller ················
176
17.2.3 添加 iPhone 4s
模拟器·····················
177
17.2.4 将数据与表视图
关联·························
179
17.2.5 实现表视图的函数··· 181
17.3 小结 ································ 183
第 18 章 为 LioN 应用添加
数据 ····························185
18.1 在 LioN 应用中添加硬
编码数据 ························ 185
18.1.1 创建一个包含模拟
数据的数组 ·············
186
18.1.2 通过硬编码数据将
lionData 连接到表
视图·························
186
18.2 添加模型 ························ 187
18.3 改变表单元格的布局····· 192
18.3.1 改变故事板中的单元
格以显示描述 ·········
192
18.3.2 更新函数以显示
描述·························
193
18.4 小结 ································ 194
第 19 章 显示 LioN 的详细信息····195
19.1 捕获被点击的索引行 ····· 195
19.2 在故事板中添加
详情页 ···························· 196
19.2.1 将一个 ViewController
添加到故事板 ·········
196
19.2.2 创建一个新的
ViewController 类····
198
19.3 将数据传递给
DetailViewController ······ 199
19.3.1 准备 DetailView
Controller 以接受
LioN ························
200
19.3.2 更新 MainViewController
以传递数据 ·············
201
19.4 小结 ································ 205
第 20 章 为详情视图添加内容····207
20.1 将标签添加到详情
界面 ································ 207
20.1.1 使用 description 将 Int
转换成字符串 ·········
208
20.1.2 使用 String 将 Int 转换
成字符串 ·················
208
20.2 向列表添加新的 LioN···· 209
20.2.1 在视图中添加+
按钮·························
210
20.2.2 创建函数以处理 action
并将二者链接 ·········
211
20.2.3 将硬编码值添加到 LioN
列表中 ·····················
213
20.2.4 从列表中删除
LioN ························
215
20.3 小结 ································ 216
第 21 章 AddEditView 场景 ·······219
21.1 创建新的详情视图········· 219
21.1.1 添加一个新的TableViewController ················ 220
21.1.2 添加一个新的 AddEditViewController 类···· 221
21.1.3 关联 Cancel 和 Done
按钮·························
223
21.1.4 检查点 ····················· 223
21.2 添加新的 LioN ··············· 224
21.2.1 禁止单元格被选中··· 226
21.2.2 设置键盘的行为······ 227
21.2.3 在用户点击时关闭
键盘·························
229
21.3 小结 ································ 231
第 22 章 代理无处不在 ··············233
22.1 关联视图 ························ 233
22.1.1 实现协议 ················· 234
22.1.2 更新 Cancel 以及 Done
按钮的事件 ·············
235
22.1.3 捕获用户输入 ········· 236
22.2 MainViewController 的
一致性 ···························· 237
22.3 将 LioN 对象添加到 lion
数组中 ···························· 239
22.4 设置 like 和 dislike
属性 ································ 242
22.5 小结 ································ 243
第 23 章 编辑 LioN ····················245
23.1 编辑现有的 LioN ··········· 245
23.1.1 设置 AddEditViewController 以接受要编
辑的 LioN 对象·······
245
23.1.2 为文本框填充 LioN 的
名称及其描述 ·········
246
23.1.3 显示对 LioN 的喜欢
或不喜欢 ·················
247
23.1.4 将 LioN 对象传递给
Add / Edit 控制器 ····
250
23.1.5 点击 Done 时保存 LioN,
并非创建新的
LioN ························
252
23.2 小结 ································ 256
第 24 章 保存 LioN ····················257
24.1 玩转沙盒························· 257
24.2 保存数据························· 259
24.2.1 更改 LioN 对象的
类定义 ·····················
259
24.2.2 保存编码的数据······ 262
24.2.3 加载解码的数据······ 262
24.2.4 添加 loadLions()
函数·························
264
24.2.5 数据加载总结·········· 265
24.2.6 添加保存功能·········· 265
24.3 测试加载与保存功能 ····· 267
24.4 小结 ································ 268
第 25 章 让 LioN 应用更美观 ·····269
25.1 基本的修复····················· 269
25.1.1 创建两个 section······ 270
25.1.2 为 Like 和 Dislike
添加图片 ·················
271
25.1.3 更改表视图的
背景色 ·····················
275
25.1.4 根据选择来切换
图片·························
276
25.1.5 在单元格上设置
图片·························
277
25.1.6 让 MainView 场景
更美观·····················
278
25.1.7 更新导航栏 ············· 279
25.2 添加图标 ························ 280
25.3 更新启动场景················· 281
25.4 小结 ································ 281
第 26 章 使用自动布局 ··············283
26.1 更改布局以适配所有
屏幕尺寸 ························ 283
26.1.1 改变 AddEditView
场景·························
284
26.1.2 更改主场景中单元
格的颜色·················
292
26.2 小结 ································ 293
第 27 章 搜索 LioN ····················295
27.1 添加搜索功能················· 295
27.2 基于用户的输入过滤
LioN································ 297
27.2.1 创建过滤器函数······ 298
27.2.2 使用闭包来过滤
数组·························
299
27.2.3 更改表视图的
数据源·····················
301
27.2.4 润饰应用 ················· 303
27.3 搜索其他字段················· 304
27.4 小结 ································ 305
27.5 你将何去何从? ············· 306
附录 A 如何安装 Xcode 以及注册
成为苹果开发者·············307
附录 B 在你的设备上运行应用··· 311

第Ⅰ部分
第一个应用
第Ⅰ部分介绍编程的基本概念,旨在让你尽快涉足编程世界。第 2 章创建第
一个应用,然后第 3 章详细介绍要做什么以及为什么这么做。第 4 章介绍用于创
建应用的工具(Xcode)。第 5~7 章将通过在应用中添加按钮和文本框的操作来更
深入地讲解编程方法。最后,在第 8 章中,将介绍一个令人兴奋的工具 Swift
Playground,可以通过它快速轻松地学习和测试代码。


第1章 入 门
本章涵盖
y 概述 iPhone 和 iPad 应用的创建
y 学习策略——记住什么
y 创建 iOS 应用需要做哪些准备
社会在不断发展, mobile-first 也在其中起到推动作用。 mobile-first 是什么?
是一种想法,即让人们通过 iPhone 或 iPad 获取信息——无论是电子邮件、新
闻、社交媒体、互联网、购物、发短信或电话。因此,如今一些公司正考虑如何
在移动设备上提供这些信息,为此首先要制作网页,然后添加可用来访问网页的
移动应用。
技术的进步和发展是多么激动人心!你将乐在其中。本书将教你如何开始
创建 iPhone 和 iPad 应用,适合于以前没有任何开发经验的初学者,将带这些初
学者初次踏入应用创建的精彩世界。如果你已具备应用开发经验,也可通过本书
复习和巩固学过的知识,何乐而不为?
1.1 蓝图: iPhone 和 iPad 开发
为 iPhone 和 iPad 创建应用是一件令人兴奋的事情。但很多人一想到要为这
些很棒的设备创建应用可能会望而生畏,不过请放心,我们将一起完成应用的创
建,并且你将在学完本书之后完成多个应用。为 iPhone 和 iPad 创建应用是非常复
杂的,因为它有自己的词汇,不过对于这些你不必担心,我都将一一传授于你。
创建应用称为开发软件(developing software),当你学完本书之后,将开发出
多个应用,并将初步了解软件术语和基础知识。让我们从零基础开始,以确保我
们在同一页(双关语)。

4 第Ⅰ部分 第一个应用
1.1.1 一些关键术语


首先,学习开发 iPhone 和 iPad,意味着将创建只能安装和运行在 iPhone 和
iPad 上的应用。这些应用无法在任何其他设备上运行,因此请确保你已了解了
自己正在进行的事情。你将学习开发在 iOS 上运行的应用, iOS 是在 iPhone 和
iPad 上运行的操作系统(OS)。而操作系统是在机器上运行的底层软件,如
Windows 95(已被淘汰)、 Windows 8.1 或 Mac OS X(现为 macOS)。这些操作系统
负责与组成电脑的电子元件进行交互的所有艰巨任务,因此,按下计算机按键
时,是在与操作系统进行交互,而不是在尝试将你的意图告诉计算机。本书前
几章介绍 iPhone 和 iPad 开发的关键概念,但第一个例子将重点围绕 iPhone 开
发。开发 iPad 的功能并不是那么有意义,随着我们进入后面的章节,将会展现
这两种开发的差别。
1.1.2 开发和编程的区别
术语开发(development)与编程(programming)是同义词,因为学习开发或编程
应用是为了让计算机能够做事情。有非常多的编程语言可供选择,因为编程语言
(programming language)是用于与机器通信而被正式构建的语言。当 Apple 创建
iPhone 时,也创建了一种名为 Objective-C 的语言(Swift 之前使用的编程语言),当
由程序员使用并被编译器(compiler,稍后再介绍)编译或翻译后,可被 iPhone 理解
并执行。图 1.1 展示了这种编程语言的实现过程。

如图中所示,使用编程语言为 iPhone 或 iPad 创建应用时包括以下步骤:
(1) 在屏幕上键入单词,这些是命令(command)或代码(code)。
(2) 编译器接受这些单词,如果程序中没有出现错误,便将其翻译成机器可

以理解的语言。
学习程序很像学习外语。首先需要了解这些词和它们的含义,然后必须把
它们组织在一起,以正确的顺序形成句子。
1.1.3 客观地看待 Swift
如前所述,有非常多的编程语言,而它们都具有与机器通信的相同目的,
然后让机器按照用这些语言编写的程序进行操作。对于 iPhone 和 iPad 的编程,
现在有两种编程语言可选择:
y Objective-C
y Swift
本书并不打算告诉你这两种语言的历史,也不会试图让你相信哪一种更
好。自从 iPhone 诞生以来, Objective-C 就作为 iPhone 和 iPad 编程的首选语言。
Apple 公司在 2014 年发布了 Swift,与 Objective-C 完全不同, Swift 采用了不同
的方法开发 iPhone 和 iPad。相对于许多其他语言的复杂性, Swift 简化了许多,
从而更容易学习。而这些差异并不是本书的重点,本书甚至不会讨论为什么
Apple 创建了一种新的语言。最基本的一点就是你将会学习 Swift,而在这本书
里你会用 Swift 编写代码。
值得庆幸的是,你和所有人一样,都是刚开始学习 Swift。因为这是一种新
的语言,所以没有任何一个人已经拥有五年的 Swift 经验。想想看:如果你愿
意,就可以在五年内成为那样的专家!相对于 Objective-C 语言,在 Swift 中更
容易学习语法的编写。如果想了解有关 Objective-C 的更多信息,可以通过苹果
开发者(Apple Developer)网站(developer.apple.com)获取。
1.1.4 你将创建的应用
接下来是令人兴奋的部分:通过阅读本书,你将创建自己的应用。我们将
从一些较小的应用开始,以帮助你了解基础知识,但最终将构建 LioN 应用,你
现在也可以从 App Store 免费下载它。以下是本书开发的内容:
y Hello World——这是每个开发者踏入编程世界的成人礼。应用启动后将
显示“Hello World”。此应用很简单,但它的成功启动确保了所有设置的
正确性,并且让你知道如何创建应用。
y Hello Button——该应用允许你按下一个按钮来更改应用内标签的文本。
y Textbox——该应用允许你在文本框中输入内容,然后在屏幕上打印出所
输入的文本。
y How Many Fingers——该应用会让你玩游戏:一个人(指此应用)将举起的
手指藏在身后,你要猜出其举起了多少根手指。
y State Abbreviation Lookups——该应用允许你输入国家的名称,然后将显
示国家的缩写。
y LioN——一款非常有用的应用,能够帮助你记住“Like it or Not.”。我创
建此应用,是因为我容易忘记自己喜欢或不喜欢的品牌——比如牙膏。
我去杂货店买一个品牌,是因为我记得,但事实证明,是因为我不喜欢
它我才记得。但现在我可以打开我的 LioN 应用并搜索牙膏,它可以告诉
我,我不喜欢的品牌以及喜欢的品牌都有哪些。非常方便!此应用具有搜
索功能,因此可以根据名称或描述搜索你的 LioN 项目。除了屏幕底部
的广告和一些注意事项外,你构建的 LioN 应用将与 App Store 中的完全
一样。
在我们开始学习 Swift 语言及其语法之前,将介绍一些学习策略,以使编程
更容易。
1.2 了解需要记住哪些内容
你将开始明白,编程世界也是浩瀚无边的。尽管在互联网上有大量的可
用资源,却要么无处着手,要么无迹可寻。本书内容将尽最大可能做到通俗
易懂。
学习概念的关键是完成整个编程练习。可以先阅读概念,然后做相应的练
习:全部的。要达到学习并理解的目的,没有比亲自动手更好的方法了。
做练习时,难免会犯错。即使是世界上最好的程序员也会犯错。关键是要
有耐心,能从错误当中汲取经验和教训。请确保完全按照练习来做,否则它们可
能不会按照你所期望的方式来工作。起初你可能不会明白为什么这么做,但随着
我们讲解的继续,一切都会变得清晰起来。
你可以随时检查你的成果
你可以随时从 Manning 网站(www.manning.com/books/anyone-can-createan-app)或 GitHub(https://github.com/wlwise/AnyoneCanCreateAnApp)上的本书
页面中下载练习和源代码,以了解我的代码是如何写的,并将其与你所写的
代码进行比较。

1.2.1 理解并牢记关键概念
现在,你需要在编程的海洋中记住哪些内容呢?最重要的是记住我教你的
概念(concept)。此时,在一开始就记住基本概念,比起要记住确切的语法(编程
中使用的单词和符号的组合)内容更重要。
为什么?你可以随时写下语法或轻松在线查找它,但如果你不了解基本概
念,知其然而不知其所以然,那么你只是在做无用功。只学习语法将类似于我要
求你用德语复制一个句子(假设你不懂德语)。你可以把它复制下来并记住它,但
是除非你懂德语,否则它对你没有任何意义。当我们一起踏上这趟学习之旅时,
我会说清楚哪些主题是概念(concept),而哪些是语法(syntax)。你对概念的理解
越多,你的编程经验就越丰富。一些关键概念将在页面上单独的框中给出,而语
法主题将形如: Syntax:example。
1.2.2 语法
如果查看语法(syntax)的定义,将看到一些诸如“在语言中通过组织单词来
创建格式良好的句子”的内容。你将学习 Swift 语言的语法——如何编写出组成
iPhone 或 iPad 代码的“句子”。正如我所说,这与学习外语相似。在某些语言
(包括英语)中,习惯上这样说或写:
y 首先是句子的主语
y 然后是动词
y 之后是对象
例如, I read a book yesterday 在英文中很好理解。如果用德语(例如)来表达
或者写同一句话,将形成这样一个句子 Ich habe gestern ein Buch gelesen.(I have
yesterday a book read.)。这就是不同语言间的语法差异。
每种语言都有语法规则,以使撰写者或演讲者能够轻松地形成句子,并使
读者或听者能够理解这种语言。编程语言也有语法规则,以使计算机能理解你
要试图做什么。当创建应用时,能够编写格式良好语法正确的代码是很重要
的——但理解基本概念更重要。随着你记住语法的代码越来越多,记忆“句
子”将变得越来越容易。本书中讲授的基本概念很重要,因为这将成为你理解
编程的基石。
那么该如何学习编程的基本概念呢?我很高兴你这么问。

8 第Ⅰ部分 第一个应用
1.2.3 伪代码的重要性

程序员必须理解他们所要实现的任何代码的基本概念或计划。一种理解和
学习程序的基本概念的方式是,先将任何你想要程序实现的代码写成伪代码
(pseudocode)。
伪代码——在本书中意指“假代码”——这种方法将概念和想法简化并分
解成逻辑上的步骤,以便更容易理解。编写伪代码有助于自己对将要实现的程序
代码有进一步的理解和规划,而不是为了告诉计算机你要做什么。想象一下第一
次在房子的墙上作画。你显然希望自己能创作出一幅漂亮的墙画,但是要从哪里
开始呢?如果从心中预想的最终结果开始(墙画已经完成)并试图弄清楚如何实现
结果,那么你将为了实现最终结果而需要去考虑明确的步骤。花点时间想想你创
作出这幅墙画的步骤,然后把它们写下来。
下面是我写下的步骤:
(1) 去当地的五金店,浏览涂料的样品芯片。
(2) 选择一个或多个涂料样品芯片并购买样品涂料。
(3) 将样品涂料涂抹在墙上的几个区域。
(4) 在白天多次检查已涂抹的区域,看看它们在不同光线下的效果。
(5) 选择其中一种颜色,做出使用与否的决定。
(6) 回到当地的五金店,购买更多所选的涂料。
(7) 拿出滚筒、罩布、油漆刷和工作服。
(8) 为所有东西的边缘贴上胶带。
(9) 绘画。
你可能比我写下来的步骤少了几步或者多了几步,但这并不意味着我们的
任何一个列表都是“更正确”或“更不正确”。当你看着自己的列表时,便清楚
了绘画所需的步骤。这难道对你没有意义吗?它是否足够完整到你可以正确阅读
并理解它?如果是,那么很好,你写出了绘画的伪代码。除非你最终没能创作出
一幅漂亮的墙画,否则伪代码便没有正确与错误之分。可以根据实际需要多次完
成步骤,以达到预期结果。
步骤里说:“拿出滚筒、罩布”等。而不是说“拿出滚筒、罩布,确保它们
干净,将它们放入房间,如果是新的,就将包装物从滚筒上取下”等。画了这么
多墙画后,我认为“拿出滚筒”已经包括了这部分。这对于我是有意义的。你需
要确保你的步骤对你也是有意义的。本书中含有大量的伪代码示例的练习以及代
码,通过这些你将能进行充分的实践和学习。记住:最关键的一点是列出的最终

步骤是对你有意义的。只要是以符合逻辑、有序的方式实现最终结果,做法就没
有正确或错误之分。
现在你掌握了一些如何有效学习的方式,接下来让我们谈一谈如何开始编程。
1.3 创建 iPhone 和 iPad 应用需要做哪些准备
那么,怎样开始呢?
y 首先,你需要一台 Mac 电脑。
y Xcode,它是一个集成开发环境(IDE, Integrated Development Environment),
是创建应用的主要工具。你可能使用过像 Microsoft Word 这样的程序来
创建文档。而 Xcode 是用来创建其他程序的一种程序。附录 A 中有安装
此免费工具的说明。我们将在第 2 章开始使用它。
y 加入苹果开发者计划(Apple Developer Program)。附录 A 中说明了如何加
入。有两种选择:免费计划(推荐)或 $99 计划。可以查看附录 A 了解更
多相关信息。
在此之前,先概览 Mac 和 Xcode,并介绍一些有用的资源,之后再带你到
附录 A 中查看如何安装 Xcode 并阅读有关苹果开发者计划的更多信息。
1.3.1 你需要一台 Mac
Apple 要求 Mac、 iPhone 和 iPad 的所有开发都要在 Mac 上进行。然而一些
野心勃勃的开发人员已经找到了解决这个问题的方法——不用在 Mac 上也可以
进行开发,但需要掌握很多技术诀窍。请相信我——如果你还没有一台 Mac 的
话,那就去购置一台吧。并不一定需要一个超大型的、全新的、高性能的 Mac,
但如果有一台更快的 Mac,你将更容易编写和测试代码。这台 Mac 至少应满足以
下几点:
y 硬盘上有大量可用的磁盘空间。
y 至少 8 GB 的 RAM,越多越好。
y OS X 10.12.x 或 Sierra 或更高版本(在撰写本文时, macOS Sierra 是最新
版本)。重要的是使用最新版本的 Mac OS——它与最新版本的 Xcode 最
兼容,并将支持最新的 iPhone 功能。
通常可在 Craigslist 或 eBay 这样的网站上买到相当不错的 Mac,但在购买之
前请先确保你知道自己想要得到的是一个什么样的 Mac。我建议从卖家那里获

10 第Ⅰ部分 第一个应用
取要购买的 Mac 的序列号(如果不是新的),并在 Apple 网站上进行检查以确保它
是正牌产品,并查看是否仍在保修范围内(CheckCoverage.Apple.com)。你可以使
用 iMac、 MacBook(Pro 或 Air)或 Mac Mini 进行开发。线上 Apple Store 可以让你
轻松选择和配置 Mac,如图 1.2 所示。

Apple 提供了一个方便的比较工具,可以在 www.apple.com/mac/compare 上

轻松地查看不同配置之间的差异。还可以通过 www.apple.com/shop/browse/home/
specialdeals/mac 从 Apple 购买翻新的 Mac,这样可以节省一些钱。翻新的 Mac
与新 Mac 一样具有一年保修期。如果你是在校学生,还可以通过从 Apple
Education 商店购买来节省开支。打开苹果商店主页(http://store.apple.com),一直
滚动到页面的底部,找到链接 For Education,即可进入 Apple Education 商店。
请确保运行在 Mac 上的是最新操作系统(macOS)。如果你的 Mac 比较陈旧
且在上面运行的不是最新操作系统,可通过 App Store 进行升级。根据 Mac 操作
系统的版本而定,升级可能需要付费,但许多更新是免费的。
本书的练习需要 Sierra OS X 10.12.4 或更高版本
为与本书中的练习保持一致,至少需要安装 Sierra(OS X 10.12.4 或更高
版本)。这些练习都是使用 macOS Sierra 编写的。
如果你不知道现在安装了什么版本的 OS X,很容易找出来。单击屏幕左上
角的 Apple( ),然后选择 About This Mac(中文系统:“关于本机” )。可在图 1.3

中看到,我的 MacBook 正在运行 macOS Sierra,版本是 10.12.6。

图 1.3 单击 Apple 图标( ),然后单击 About This Mac(关于本机),来确定操作系统的版本
1.3.2 Xcode: iPhone 和 iPad 开发环境
有了 Mac 后,接下来就需要安装 Xcode。此 IDE 是用于创建应用的主要工
具。可将 IDE 看成是 English 和 iPhone 或 iPad 之间的翻译器。 IDE 的行为有点
像 Google Translate(http://translate.google.com):
(1) 在你所知道的语言框中输入单词。
(2) 选择一种你不懂的语言,然后单击 Translate。
(3) 给出译文。
如果英文单词拼写有误, Google Translate 便不知道该怎么做,从而显示错误。
如果输入格式不正确的句子,翻译器可能会给出一个错误或不是你所期望的答案。
IDE 以同样的原则行事。当键入格式正确的“句子”时, IDE 将其翻译为
iPhone 或 iPad 可以理解的机器语言。当拼写错误的单词或格式不正确的“句
子”时,将出现错误,或者设备的行为方式与你所期望的不一样。许多编程语言
都有自己的 IDE。 Apple 使用 Xcode 进行所有开发,包括 iPhone 和 iPad。
附录 A 中包含了 Xcode 的安装说明和有关注册苹果开发者(Apple Developer)
账户的详细信息。完成本章后并在开始第 2 章之前,你应该参阅附录 A 完成这
些步骤。
接下来,我们来看一些有用的资源,以使 iPhone 和 iPad 的程序编写更加简便。
1.3.3 一些有用的资源
本书将为你提供创建多个应用所需的所有步骤,并讲解实现这些步骤的基
本概念。在某些情况下,你可能想要了解有关特定主题的更多信息,或者可能想
深入了解一个主题。下面这些很好的资源可帮助你实现这一点:
y 本书的网站——可以在这里下载示例,在 Author Online 论坛中提出有关
练 习 的 问 题 , 并 与 其 他 读 者 聊 天 。 网 站 地 址 是 www.manning.com/
books/anyone-can-create-an-app。我会尽可能地回复你在论坛上的问题,
你还可以提出对本书的看法。
y Apple——这是一个开始学习和探索的好地方,但起初你可能无从下
手。可以在苹果开发者中心(Apple Developer Member Center, https://
developer.apple.com) 中 查 看 一 些 “ 入 门 ” 资 源 。 但 首 先 需 要 成 为
Developer Program 的成员(更多相关信息请参阅附录 A)。你并不需要为
了使用本书而去阅读这些文档。如果你想了解有关主题的更多信息,我

将会为你提供定位。首页顶部的 Develop 链接是开始进入苹果开发者中
心的入口;然后网页跳转后选择 Guides 链接。
y Stack Overflow——此网站(www.stackoverflow.com)是获取有关具体问题
的答案的另一个好地方。可以根据你的具体需求进行搜索,几乎可以保
证该问题已被问过且其他人已经回答。在搜索时应尽可能具体,否则将
收到很多信息。
记住,学习编写 iPhone 和 iPad 应用可以说是一项艰巨的任务,不要幻想一
次就会成功。本书会在你需要的时候给你提供信息,如果你想了解有关主题的更
多信息,也会给你提供进一步资源的建议。想想古老的格言: How do you eat an
elephant? One bite at a time。你无法一口吃成个胖子。你需要一步一个脚印地前
进。这就是为什么我要你学习“just in time”的重要主题(所以我们很清楚,我无
法容忍这种一蹴而就的事)。为能在第 2 章中开始开发,现在是时候转到附录 A
来安装你需要的工具了。
要牢记的概念
y 希望你为创建 iPhone 和 iPad 应用而感到兴奋,并意识到你可以在本
书的帮助下不断提高水平。
y 你学到了伪代码就是“假代码”。你将创建自己的伪代码,并作为一
种路线图,来帮助你开发应用。
y 你学到了语法(syntax)是编码“句子” 形成的方式。你必须使用正确
的语法,以使计算机按照你的指令去工作。
y 你学到了 Xcode 是用于创建代码的 IDE。 IDE 可将代码编译(翻译)
为 iPhone 和 iPad 可以理解的语言。
y 你学到了要成为 iPhone 或 iPad 开发人员需要什么类型的机器(Mac)。
y 你学到了需要记住的内容,将来可以参考什么以及可以在线查询什么。
y 你学到了去哪里寻求更多帮助。
1.4 小结
恭喜——你刚刚学完了本技术书中的第 1 章!记住一定要脚踏实地地去学
习。本书将在你需要时为你提供需要的内容。在本书结束时,你将熟练掌握编码
术语。你会知道一些编码行话,你将为 iPhone 和 iPad 创建多个应用。让我们赶
紧开始吧,你将在下一章创建第一个应用(但首先请参阅附录 A)。

购买地址:

https://item.jd.com/12280467.html



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26421423/viewspace-2219928/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
分享计算机前沿技术和国外计算机先进技术书籍。

注册时间:2011-11-08

  • 博文量
    54
  • 访问量
    104950