Swift细致入门与最佳实践(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-08 22:58:16

点击下载

作者:陈强

出版社:中国铁道出版社

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

Swift细致入门与最佳实践

Swift细致入门与最佳实践试读:

前言

Foreword

Swift是苹果公司在WWDC2014大会上所发布的一门全新的编程语言,用来编写OS X和iOS应用程序。苹果公司在设计Swift语言时,就有意将其与Objective-C共存,Objective-C是苹果操作系统在导入Swift前使用的编程语言。随着苹果公司开发团队的不断努力,Swift的版本也不断更新,并且日趋稳定。为了帮助读者迅速掌握Swift开发的核心技术知识,本书基于稳定版本的Swift2.0进行讲解,详细介绍了Swift应用程序开发的知识点。

Swift的优势(1)易学

作为一项苹果独立发布的支持型开发语言,Swift语言的语法内容混合了Objective-C、JS和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、C三种语言,实现了三类开发人员的完美融合。(7)测试工作更加便捷

方便快捷地测试所编写应用将帮助开发者更快地开发出复杂应用。以往对规模较大的应用来说,编译和测试过程极为冗繁,Swift在这一方面带来较大的改进,应用开发者可以更快地发布经过彻底测试的应用。

本书特色(1)内容讲解循序渐进

本书从基础语法和搭建开发环境讲起,循序渐进地讲解了Swift语言开发的基本语法知识和核心应用技术。适合初学者学习。(2)结构合理

从用户的实际需要出发,科学安排知识结构,内容由浅入深,叙述清楚。全书详细地讲解了和Swift开发有关的知识点。(3)易学易懂

本书条理清晰、语言简洁,可帮助读者快速掌握每个知识点。使读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行针对性的学习。(4)实用性强

本书彻底摒弃枯燥的理论和简单的操作,注重实用性和可操作性,通过实例的实现过程,详细讲解了各个知识点的基本知识。(5)内容全面

本书可以号称市面中“内容最全面的一本Swift书”,无论是搭建开发环境,还是基本语法、面向对象、函数方法,在本书中您都能找到解决问题的答案。

本书参考内容

任何一门全新编程语言的推出,大家最初的学习资料往往是其官方资料。当苹果公司在WWDC2014大会发布Swift语言后,也一起公布了其参考使用文档《Swift Programming Language》,官方不但提供了此学习文档的PDF文件,而且提供了在线阅读版本。和广大初学者一样,笔者也将此使用文档作为学习Swift的第一手资料。

读者对象

iOS开发初学者

Swift初学者

大、中专院校的师生

毕业设计的学生

iOS编程爱好者

相关培训机构的师生

从事iOS开发的程序员

本书在编写过程中得到了中国铁道出版社编辑的大力支持。正是各位编辑的求实、耐心和效率,才能使得本书得以出版。另外也十分感谢我的家人,在我写作的时候给予的巨大支持。另外,由于编者知识水平有限,书中如有纰漏和不尽如人意之处在所难免,诚请广大读者提出意见或建议,以便修订并使之更臻完善。

编者2016年4月第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及其团队开发的,Chris Lattner是LLVM项目的主要发起人和作者之一,Clang编译器的作者。LLVM是一种用于优化编译器的基础框架,能将高级语言转换为机器语言。LLVM极大提高了高级语言的效率,Chris Lattner也因此获得了首届SIGPLAN奖。

2005年,Chris Lattner加入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在WWDC14大会上对Swift进行演示。

图1-1 Chris Lattner在WWDC14大会上对Swift进行演示1.1.2 Swift的优势

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

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

作为一项苹果独立发布的支持型开发语言,Swift语言的语法内容混合了Objective-C、JS和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、C三种语言,这样便实现了三类开发人员的完美融合。(7)测试工作更加便捷

方便快捷地测试所编写应用将帮助开发者更快地开发出复杂应用。以往对规模较大的应用来说,编译和测试过程极为冗繁,如果Swift能在这一方面带来较大的改进,那么应用开发者将可以更快地发布经过更彻底测试的应用。

当然,Swift还有一些不足之处。其中Swift最大的问题在于,要求使用者学习一门全新的语言。程序员通常喜欢掌握最新、最优秀的语言,但关于如何指导人们编写iPhone应用,目前已形成了完整的产业。在苹果发布Swift之后,所有一切都要被推翻重来。另外,编程语言的易学性,会让更多的开发者加入手机应用软件的开发当中,这或许不是一件好事。1.2搭建开发环境

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

要开发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/,如图1-2所示。

图1-2 Xcode的官方地址

截止到2016年4月,市面中的最主流的版本是Xcode 6,最新版本是为iOS 9和Swift 2.0推出的Xcode 7 beta 4。在本书的内容中,将以Xcode 7 beta 4为开发工具讲解Swift 2.0的基本知识。1.2.2 下载并安装Xcode 7

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

1.下载Xcode(1)下载的前提是先注册成为一名开发人员,登录到苹果开发页面主页https://developer.apple.com/,如图1-3所示。

图1-3 苹果开发页面主页(3)登录Xcode的下载页面https://developer.apple.com/xcode/downloads/,找到“Xcode 7beta”选项,如图1-4所示。

图1-4 Xcode的下载页面(4)如果是付费账户,可以直接在苹果官方网站中下载获得。如果不是付费会员账户,可以从网络中搜索热心网友们的共享信息,以此来达到下载Xcode 7的目的。

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

2.安装Xcode(1)下载完成后单击打开下载的“.dmg”格式文件,然后双击Xcode文件开始安装。如图1-5所示。(2)双击Xcode下载到的文件开始安装,在弹出的对话框中单击“Continue”按钮,如图1-6所示。(3)在弹出的欢迎界面中单击“Agree”按钮,如图1-7所示。

图1-5 打开下载的Xcode文件

图1-6 单击“Continue”按钮

图1-7 单击“Agree”按钮(4)在弹出的对话框中单击“Install”按钮,如图1-8所示。(5)在弹出的对话框中输入用户名和密码,然后单击“好”按钮。如图1-9所示。

图1-8 单击“Install”按钮

图1-9 单击“好”按钮(6)在弹出的新对话框中显示安装进度,进度完成后的界面如图1-10所示。

图1-10 完成安装(7)Xcode 7的默认启动界面如图1-11所示。

图1-11 启动Xcode 7后的初始界面

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

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

通过xcode编写代码,代码的头部会出现类似于图1-12所示的内容。

图1-12 头部内容

在此可以将这部分内容改为公司的名称或者项目的名称。1.3.2 通过搜索框缩小文件范围

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

图1-13 Xcode的浏览器窗口

在图1-13的搜索框中可以输入关键字,这样浏览器窗口中只显示带有关键字的文件,如图1-14所示。

图1-14 输入关键字1.3.3 格式化代码

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

图1-15 多行顶格

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

图1-16 在上下文菜单中进行查找

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-17所示。

图1-17 出现结果列表

如果是正在输入方法,那么会自动完成,如图1-18所示。

图1-18 自动完成的结果

可以使用【tab】键确认方法中的内容,或者通过快捷键【ctrl+/】在方法中的参数来回切换。1.3.5 文件内查找和替代

在编辑代码的过程中经常会做查找和替代的操作,如果只是查找则直接按快捷键【command+f】即可,在代码的右上角会出现图1-19所示的对话框。只需输入关键字,不论大小写,代码中所有命中的文字都会高亮显示。

图1-19 查找界面

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

图1-20 复杂查找设置

通过图1-21中的“Find & Replace”可以切换到替代界面。

图1-21 “Find & Replace”替换

图1-22所示的界面将查找设置为大小写敏感,然后替代为myBook。

图1-22 替代为myBook

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

图1-23 “Find”→“Find in Project…”命令

还是以查找关键字book为例,实现界面如图1-24所示。

图1-24 在整个项目内查找“book”关键字

替代操作的过程也与之类似,在此不再赘述。1.3.6 快速定位到代码行

如果想定位光标到选中文件的行上,可以使用快捷键【Command+L】来实现,也可以依次选择“Navigate”→“Jump to Line…”命令实现。如图1-25所示。

图1-25 “Navigate”→“Jump to Line…”命令

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

图1-26 输入行号1.3.7 快速打开文件

有时需要快速打开头文件,如图1-27所示的界面。要想知道这里的文件Cocoa.h到底是什么内容,可以通过单击选中文件Cocoa.h来实现。

依次选择“File”→“Open Quickly…”命令,如图1-28所示。

图1-27 一个头文件

图1-28 “Open Quickly…”命令

弹出如图1-29所示的对话框。

图1-29 “Open Quickly…”对话框

双击文件Cocoa.h的条目即可看到图1-30所示的界面。

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载