Swift开发实战(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-26 10:42:15

点击下载

作者:管蕾,张玲玲,朱元波

出版社:信息技术第一出版分社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Swift开发实战

Swift开发实战试读:

前言

Swift是苹果公司在WWDC2014 大会上所发布的一门全新的编程语言,用于编写OS X和iOS应用程序。苹果公司在设计Swift语言时,就有意让其和Objective-C共存,Objective-C是苹果操作系统在导入Swift前使用的编程语言。为了帮助读者迅速掌握Swift开发的核心技术知识,笔者特意编写了本书。

>Swift的优势

在 WWDC2014 大会中,苹果公司展示了如何能让开发人员更快进行代码编写及显示得到的“Swift Playground”,在Swift 编程环境中,左侧输入代码的同时,在右侧可以实时显示结果。苹果公司表示Swift是基于Cocoa和Cocoa Touch专门设计的。Swift不仅可以用于基本的应用程序编写,如各种社交网络App,同时还可以使用更先进的“Metal”3D游戏图形优化工作。由于Swift可以与Objective-C兼容使用,开发人员可以在开发过程中进行无缝切换。

具体来说,Swift语言的突出优势如下所示。(1)易学。作为一门苹果独立发布的支持型开发语言,Swift 语法简单、使用方便、易学,大大降低了开发者入门的门槛。同时,Swift 语言可以与 Objective-C 混合使用,对于用惯了高难度Objective-C语言的开发者来说,Swift语言更加易学。(2)功能强大。Swift 允许开发者通过更简洁的代码来实现更多的内容。在 WWDC2014 发布会上,苹果演示了如何只通过一行简单的代码,完成一个完整图片列表加载的过程。另外,Swift还可以让开发人员一边编写程序一边预览自己的应用程序,从而快速测试应用在某些特殊情况下的效果。(3)提升性能。Swift语言可以提升程序性能,同时降低开发难度。(4)简洁、精良、高效。Swift是一种非常简洁的语言。与Python类似,不必编写大量代码即可实现强大的功能,并且也有利于提高应用开发速度。(5)执行速度快。Swift的执行速度比Objective-C更快,这样会在游戏中看见更引人入胜的画面(需要苹果新的Metal界面的帮助),而其他应用也会有更好的响应性。(6)全面融合。苹果对全新的Swift语言的代码进行了大量简化,在更快、更安全、交互更好的同时,开发者可以在同一款软件中同时用Objective-C、Swift、C三种语言。(7)测试工作更加便捷。方便快捷地测试所编写应用有助于开发者更快地开发出复杂的应用。以往,规模较大的应用编译和测试过程极为冗繁,Swift 能在这一方面带来较大的改进,应用开发者将可以更快地发布经过更彻底测试的应用。

>本书特色

本书内容十分丰富,实例内容覆盖全面。我们的目标是通过一本书,提供多本书的价值,在内容的编写上,本书具有以下特色。(1)内容讲解循序渐进。本书从基础语法和搭建开发环境讲起,循序渐进地讲解Swift语言开发的基本语法知识和核心应用技术。(2)结构合理。从用户的实际需要出发,合理安排知识结构,内容由浅入深,叙述清楚。全书详细地讲解了和Swift开发有关的所有知识点。(3)易学易懂。本书条理清晰、语言简洁,可帮助读者快速掌握每个知识点。读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行有针对性地学习。(4)实用性强。本书彻底摒弃枯燥的理论和简单的操作,注重实用性和实战性,通过实例的实现过程,详细讲解各个知识点的具体应用。(5)内容全面。本书内容全面,无论是搭建开发环境,还是基本语法、面向对象、函数方法,都能在本书中找到解决问题的答案。

源程序下载地址为:www.toppr.net。

>读者对象

iOS开发初学者

Swift初学者

大中专院校的老师和学生

毕业设计的学生

iOS编程爱好者

相关培训机构的老师和学员

从事iOS开发的程序员

本书在编写过程中,得到了人民邮电出版社工作人员的大力支持,正是各位编辑的求实、耐心和效率,才使得本书在这么短的时间内出版。另外,也十分感谢我的家人在我写作的时候给予的巨大支持。由于作者水平有限,纰漏和不尽如人意之处在所难免,诚请读者提出意见或建议,以便修订并使之更臻完善。编者第1章工欲善其事,必先利其器——Swift语言基础

Swift是苹果公司在WWDC2014 大会上所发布的一门全新的编程语言,用于编写OS X和iOS应用程序。苹果公司在设计Swift语言时,就有意让其和Objective-C共存,Objective-C是苹果操作系统在导入Swift前使用的编程语言。本章将带领大家初步认识Swift这门神奇的开发语言,让读者为学习本书后面的知识打下基础。1.1Swift概述

Swift 是一种为开发 iOS 和 OS X 应用程序而推出的全新编程语言,是建立在 C 语言和Objective-C语言基础之上的,并且没有C语言的兼容性限制。Swift采用安全模型的编程架构模式,并且使整个编程过程变得更容易、更灵活、更有趣。另外,Swift 完全支持市面上的主流框架——Cocoa 和Cocoa Touch,这为开发人员重新构建软件和提高开发效率带来了巨大的帮助。本节将带领大家一起探寻Swift的诞生历程。1.1.1 Swift的创造者

苹果公司的Swift 语言的创造者是苹果开发者工具部门总监Chris Lattner(1978年出生)。Chris Lattner是LLVM项目的主要发起人与作者之一,也是Clang编译器的作者。Chris Lattner 曾经开发了LLVM,这是一种用于优化编译器的基础框架,能将高级语言转换为机器语言。LLVM极大地提高了高级语言的效率,Chris Lattner 也因此获得了首届SIGPLAN奖。

2005年,Chris加入LLVM开发团队,正式成为苹果的一名员工。在苹果公司的9年间,他由一名架构师一路升职为苹果开发者工具部门总监。目前,Chris Lattner 主要负责Xcode 项目,这也为Swift的开发提供了灵感。

Chris Lattner从2010 年7月才开始开发Swift 语言,当时它在苹果内部属于机密项目,只有很少人知道这一语言的存在。Chris Lattner 在个人博客上称,Swift 的底层架构大多是他自己开发完成的。2011 年,其他工程师开始参与项目开发,Swift 也逐渐获得苹果内部重视,直到 2013 年成为苹果主推的开发工具。

Swift 的开发结合了众多工程师的心血,包括语言专家、编译器优化专家等,苹果其他团队也为改进产品提供了很大帮助。同时Swift也借鉴了其他语言(如Objective-C、Rust、Ruby等)的优点。

Swift语言的核心吸引力在于Xcode Playgrounds功能和REPL,它们使开发过程具有更好的交互性,也更容易上手。Playgrounds在很大程度上受到了Bret Victor的理念和其他互动系统的启发。同样,具有实时预览功能的 Swift 使编程变得更简单,学习起来也更加容易,目前已经引起了开发者的极大兴趣。这有助于苹果吸引更多的开发者,甚至将改变计算机科学的教学方式。图1-1是Chris Lattner在WWDC2014 大会上对Swift 进行演示。图1-1 Chris Lattner在WWDC2014大会上对Swift进行演示1.1.2 Swift的优势

在 WWDC2014 大会中,苹果公司展示了如何能让开发人员更快进行代码编写及显示结果的“Swift Playground”,在左侧输入代码的同时,可以在右侧实时显示结果。苹果公司表示,Swift是基于Cocoa和Cocoa Touch 专门设计的。由于Swift可以与Objective-C 兼容使用,因此,开发人员可以在开发过程中进行无缝切换。

具体来说,Swift语言的突出优势如下所示。(1)易学。

作为一门苹果独立发布的支持型开发语言,Swift语言的语法内容混合了Objective-C、JavsScript和Python,其语法简单、使用方便、易学,大大降低了开发者入门的门槛。同时Swift语言可以与Objective-C混合使用,对于用惯了高难度Objective-C语言的开发者来说,Swift语言更加易学。(2)功能强大。

Swift 允许开发者通过更简洁的代码来实现更多的内容。在 WWDC2014 发布会上,苹果演示了如何只通过一行简单的代码,完成一个完整图片列表加载的过程。另外,Swift 还可以让开发人员一边编写程序,一边预览自己的应用程序。(3)提升性能。

Swift语言可以提升程序性能,并同时降低开发难度,没有开发者不喜欢这样的编程语言。(4)简洁、精良、高效。

Swift是一种非常简洁的语言。与Python类似,不必编写大量代码即可实现强大的功能,并且也有利于提高应用开发速度。Swift可以更快捷有效地编译出高质量的应用程序。(5)执行速度快。

Swift的执行速度比Objective-C更快,这样会在游戏中看见更引人入胜的画面(需要苹果新的Metal界面的帮助),而其他应用也会有更好的响应性。(6)全面融合。

苹果对全新的Swift语言的代码进行了大量简化,在更快、更安全、更好的交互、更现代的同时,开发者们可以在同一款软件中同时用Objective-C、Swift、C3种语言,这样便实现了3类开发人员的完美融合。1.2搭建开发环境

都说“工欲善其事,必先利其器”,这一说法在编程领域同样行得通,学习 Swift 开发也离不开好的开发工具的帮助。在本节中,将详细讲解搭建Swift语言开发环境的基本知识。1.2.1 Xcode 6介绍

要开发iOS的应用程序,需要一台安装有Xcode 工具的Mac OS X 电脑。Xcode是苹果提供的开发工具集,它提供了项目管理、代码编辑、创建执行程序、代码调试、代码库管理和性能调节等功能。这个工具集的核心就是Xcode程序,提供了基本的源代码开发环境。

Xcode是一款强大的专业开发工具,可以简单、快速而且以我们熟悉的方式执行绝大多数常见的软件开发任务。相对于创建单一类型的应用程序所需要的能力而言,Xcode要强大得多,它的设计目的是使我们可以创建任何想象到的软件产品类型,从Cocoa及Carbon应用程序,到内核扩展及Spotlight导入器等各种开发任务,Xcode都能完成。Xcode独具特色的用户界面可以帮助我们以各种不同的方式来漫游工具中的代码,并且可以访问工具箱下面的大量功能,包括 GCC、javac、jikes和GDB,这些功能都是制作软件产品所需要的。它是一个由专业人员设计又由专业人员使用的工具。

由于能力出众,Xcode 已经被 Mac 开发者社区广为采纳。而且随着苹果电脑向基于 Intel 的Macintosh迁移,转向Xcode变得比以往任何时候更加重要。这是因为使用Xcode可以创建通用的二进制代码,这里所说的通用二进制代码是一种可以把PowerPC和Intel架构下的本地代码同时放到一个程序包的执行文件格式。事实上,对于还没有采用Xcode的开发人员,转向Xcode是将应用程序连编为通用二进制代码的第一个必要的步骤。

Xcode的官方地址是https://developer.apple.com/xcode/downloads/,如图1-2所示。

截止到2014年6 月,市面上最主流的版本是Xcode 5,最新版本是为Swift语言推出的Xcode 6 beta。Xcode 6 beta具有以下几个最突出的特点。(1)Xcode 6 增加了一个全新的 iOS 模拟器,允许开发者根据设备调整应用尺寸,除了“Resizable iPhone”和“Resizable iPad”之外,还包括iPhone 5/5S、iPad 2/Retina/Air 等具体设备,如图1-3所示。图1-2 Xcode的官方地址图1-3 全新的iOS模拟器(2)完全支持Swift 编程。Xcode 6 为开发者引入了一种全新的设计和开发应用的方式,深度支持Swift编程,开发者不仅能使用100%的Swift代码来创建一款崭新的应用,还可以向已存在的应用添加Swift 代码或框架,并在Swift 或Objective-C 中查看文档。“Jump to Definition”、“Open Quickly”等在Swift中均能很好地工作,甚至Objective-C的头定义在Swift语法中也能良好地呈现。(3)实时的代码效果预览。现在,开发者在使用Interface Builder 设计界面时,能够实时地预览代码效果。当程序运行时,自定义对象将在设计时展现。当开发者修改自定义视图代码时,Interface Builder的设计画布则会自动更新,而无需任何的构建和运行操作。

此外,其所包含的API 还支持向IB Inspector添加参数来快速修改视图,甚至开发者还可以预先填充示例数据视图来让界面更加准确。而支持UIKit大小类的iOS脚本则能够让开发者为所有iOS设备开发单一的通用脚本,不仅能为特定的设备尺寸或方向进行行为选择,还可以保持接口的一致性,且易于维护。(4)新增View 调试功能。Xcode 6 实现了此前备受开发者期待的View Debuger。现在,调试应用UI就像单击那样简单,开发者可以轻而易举地看到为什么一个视图可能会被裁剪或隐藏,并在 Inspector 中检查和调试约束及其他参数。当然,Xcode 还包含了其他新的调试工具,比如调试Gauge来监控I/O用法、增强版的iCloud Gauge 等,而Debug Navigator 也将显示更有用的信息,包括栈框架记录和块队列等。1.2.2 下载并安装Xcode 6

其实对于初学者来说,只需安装Xcode即可。通过使用Xcode,既能开发iPhone程序,也能够开发iPad程序。并且Xcode还是完全免费的,通过它提供的模拟器就可以在计算机上测试iOS程序。但是,如果要发布iOS程序或在真实机器上测试iOS程序,就需要花99美元了。

1.下载Xcode(1)下载的前提是先注册成为一名开发人员,到苹果开发页面主页https://developer.apple.com/,如图1-4所示。图1-4 苹果开发页面主页(2)登录Xcode 的下载页面https://developer.apple.com/xcode/downloads/,找到“Xcode 6 beta”选项,如图1-5所示。图1-5 Xcode的下载页面(3)如果是付费账户,可以直接在苹果官方网站中下载获得。如果不是付费会员用户,可以从网络中搜索热心网友们的共享信息,以此达到下载Xcode 6 的目的。

注意

可以使用App Store来获取Xcode,这种方式的优点是完全自动,操作方便。

2.安装Xcode(1)下载完成后单击打开下载的“.dmg”格式文件,如图1-6所示。图1-6 打开下载的Xcode文件(2)双击Xcode下载到的文件开始安装,在弹出的对话框中单击“Continue”按钮,如图1-7所示。图1-7 单击“Continue”按钮(3)在弹出的欢迎界面中单击“Agree”按钮,如图1-8所示。图1-8 单击“Continue”按钮(4)在弹出的对话框中单击“Install”按钮,如图1-9所示。图1-9 单击“Continue”按钮(5)在弹出的对话框中输入用户名和密码,然后单击按钮“好”,如图1-10所示。图1-10 单击“Agree”按钮(6)在弹出的新对话框中显示安装进度,进度完成后的界面如图1-11所示。图1-11 完成安装(7)Xcode 6的默认启动界面如图1-12所示。图1-12 启动Xcode 6后的初始界面

注意(1)考虑到很多初学者是学生用户,如果没有购买苹果机的预算,可以在Windows系统上采用虚拟机的方式安装OS X系统。(2)无论是已经有一定 Xcode 经验的开发者,还是刚刚开始迁移的新用户,都需要对Xcode的用户界面及如何用Xcode组织软件工具有一些理解,这样才能真正高效地使用这个工具。这种理解可以加深读者对隐藏在 Xcode 背后的编程思想的认识,并帮助读者更好地使用Xcode。(3)建议读者将Xcode安装在OS X的Mac机器上,也就是装有苹果系统的苹果机上。通常来说,在苹果机器的 OS X 系统中已经内置了 Xcode,默认目录是“/Developer/Applications”。1.3使用Xcode开发环境

接下来讲解使用Xcode开发环境的基本知识,为读者步入后面Objective-C知识的学习打下坚实的基础。1.3.1 改变公司名称

通过Xcode编写代码,代码的头部会有类似于图1-13所示的内容。图1-13 头部内容

在此需要将这部分内容改为公司的名称或者项目的名称,注意,在 Xcode 3.2.x 之前,需要命令行设置变量。之后就可以通过Xcode的配置项进行操作了,操作步骤分别如图1-14和图1-15所示。图1-14 选择“Edit Project Settings”选项图1-15 设置显示的内容

这样如果再创建文件,就会产生如图1-16所示的效果了。图1-16 创建文件时自动生成的内容1.3.2 通过搜索框缩小文件范围

当项目开发一段时间后,源代码文件会越来越多。再从Groups & Files 的界面去点选,效率比较差。可以借助Xcode的浏览器窗口,如图1-17所示。图1-17 Xcode的浏览器窗口

在图 1-17 所示的搜索框中可以输入关键字,这样浏览器窗口里只显示带关键字的文件了,如只想看Book相关的类,如图1-18所示。图1-18 输入关键字1.3.3 格式化代码

例如,在图1-19所示的界面中,有很多行都顶格了,此时需要进行格式化处理。图1-19 多行都顶格

选中需要格式化的代码,然后在上下文菜单中进行查找,这是比较规矩的办法,如图 1-20所示。图1-20 在上下文菜单中进行查找

Xcode没有提供快捷键,当然自己可以设置。我就比较喜欢用快捷键。我的做法是:Ctrl+A(全选文字)、Ctrl+X(剪切文字)、Ctrl+V(粘贴文字)。Xcode会对粘贴的文字格式化。1.3.4 代码缩进和自动完成

有的时候代码需要缩进,有的时候又要做相反的操作。单行缩进和其他编辑器类似,只需使用Tab 键即可。如果选中多行则需要使用快捷键,其中 Command+]表示缩进,Command+[表示反向缩进。

使用IDE工具的一大好处是,这一工具能够帮助我们自动补全冗长的类型名称。Xcode提供了这方面的功能。比如下面的输出日志:

NSLog(@"book author: %@",book.author);

如果都自己输入会很麻烦,可以先输入ns,然后使用快捷键“Ctrl+.”,会自动出现如下代码:

NSLog(NSString * format)

然后填写参数即可。快捷键“Ctrl+.”的功能是自动给出第一个匹配ns关键字的函数或类型,而NSLog是第一个。如果继续使用“Ctrl+.”,则会出现比如NSString的形式。以此类推,会显示所有ns开头的类型或函数,并循环往复。或者,也可以用“Ctrl+,”快捷键,比如还是ns,那么会显示全部 ns 开头的类型、函数、常量等的列表。可以在这里选择。其实,Xcode 也可以在输入代码的过程中自动给出建议。比如要输入NSString。当输入到NSStr的时候:

NSString

此时后面的ing会自动出现,如果和我预想的一样,只需直接按Tab键确认即可。也许你想输入的是NSStream,那么可以继续输入。另外也可输入Esc键,这时就会出现结果列表供选择了,如图1-21所示。图1-21 出现结果列表

如果是正在输入方法,那么会自动完成如图1-22所示的样子。图1-22 自动完成的结果

我们可以使用Tab键确认方法中的内容,或者通过快捷键“Ctrl+/”在方法中的参数间来回切换。1.3.5 文件内查找和替换

在编辑代码的过程中经常会做查找和替换的操作,如果只是查找则直接按“Command+F”组合键即可,在代码的右上角会出现如图1-23所示的对话框。只需在里面输入关键字,不论大小写,代码中所有命中的文字都会高亮显示。图1-23 查找界面

也可以实现更复杂的查找,比如是否区分大小写、是否使用正则表达式等,设置界面如图1-24所示。

通过图1-25中的“Find & Replace”可以切换到替换界面。图1-24 复杂查找设置图1-25 “Find & Replace”替换

例如图1-26所示的界面将查找设置为区分大小写,然后替换为myBook。图1-26 替代为myBook

另外,也可以单击按钮决定是否全部替换,还是查找一个替换一个等。如果需要在整个项目内查找和替换,则依次单击“Edit”→“Find”→“Find in Project…”命令,如图1-27 所示。图1-27 “Find in Project…”命令

还是以找关键字book为例,则实现界面如图1-28所示。图1-28 在整个项目内查找“book”关键字

替换操作的过程也与之类似,在此不再进行详细讲解。1.3.6 快速定位到代码行

如果想定位光标到选中文件的行上,可以使用快捷键“Command+L”来实现,也可以依次单击“Edit”→“Go to Line”命令实现,如图1-29 所示。

在使用菜单或者快捷键时都会出现图 1-30 所示的对话框,输入行号和回车后就会来到该文件的指定行。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载