天天看点

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

本节书摘来自异步社区《swift开发实战》一书中的第1章,第1.3节使用xcode开发环境,作者 李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.3 使用xcode开发环境

接下来讲解使用xcode开发环境的基本知识,为读者步入后面objective-c知识的学习打下坚实的基础。

1.3.1 改变公司名称

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

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

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

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

这样如果再创建文件,就会产生如图1-16所示的效果了。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

1.3.2 通过搜索框缩小文件范围

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

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

1.3.3 格式化代码

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

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

xcode没有提供快捷键,当然自己可以设置。我就比较喜欢用快捷键。我的做法是:ctrl+a(全选文字)、ctrl+x(剪切文字)、ctrl+v(粘贴文字)。xcode会对粘贴的文字格式化。

1.3.4 代码缩进和自动完成

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

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

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

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

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

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

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

我们可以使用tab键确认方法中的内容,或者通过快捷键“ctrl+/”在方法中的参数间来回切换。

1.3.5 文件内查找和替换

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

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

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

通过图1-25中的“find & replace”可以切换到替换界面。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

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

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

1.3.6 快速定位到代码行

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

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

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

1.3.7 快速打开文件

有时候需要快速打开头文件,例如图1-31所示的界面。要想知道这里的文件cocoa.h到底是什么内容,可以用鼠标光标选中文件cocoa.h来实现。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境
《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

1.3.8 使用书签

使用eclipse的用户会经常用到todo标签,比如正在编写代码的时候需要做其他事情,或者提醒自己以后再实现的功能时,可以写一个todo注释,这样可以在eclipse的视图中找到,方便以后找到这个代码并修改。其实xcode也有类似的功能,比如存在一段如图1-35所示的代码。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

这样就可以在项目的书签节点找到这个条目了,如图1-38所示。此时单击该条目,可以回到刚才添加书签时光标的位置。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

1.3.9 自定义导航条

在代码窗口上边有一个工具条,此工具条提供了很多方便的导航功能,如图1-39所示的功能。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

它也可以用来实现上面todo的需求。这里有两种自定义导航条的写法,其中标准写法如下:

完整的代码如图1-40所示。

此时会产生如图1-41所示的导航条效果。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

1.3.10 使用xcode帮助

如果想快速查看官方api文档,可以在源代码中按下“option”键并用鼠标双击该类型(函数、变量等),比如图1-42所示的是nsstring的api文档对话框。

如果单击图1-42中标识的按钮,会弹出完整文档的窗口,如图1-43所示。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

1.3.11 调试代码

最简单的调试方法是通过nslog打印出程序运行中的结果,然后根据这些结果判断程序运行的流程和结果值是否符合预期。对于简单的项目,通常使用这种方式就足够了。但是,如果开发的是商业项目,需要借助xcode提供的专门调试工具。所有的编程工具的调试思路都是一样的。首先要在代码中设置断点,此时可以想象一下,程序的执行是顺序的,可能怀疑某个地方的代码出了问题(引发bug),那么就在这段代码开始的地方,比如是一个方法的第一行,或者循环的开始部分,设置一个断点。那么程序在调试时会在运行到断点时终止,接下来可以一行一行地执行代码,判断执行顺序是否是自己预期的,或者变量的值是否和自己想的一样。

设置断点的方法非常简单,比如想对红框表示的行设置断点,就单击该行左侧红圈位置,如图1-44所示。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

单击后会出现断点标志,如图1-45所示。

然后运行代码,比如使用“command+enter”命令,这时将运行代码,并且停止在断点处,如图1-46所示。

《Swift开发实战》——第1章,第1.3节使用Xcode开发环境

这和其他语言ide工具的界面大同小异,因为都具有类似的功能。下面是主要命令的具体说明。

continue:继续执行程序。

step over, step into, step out:用于单步调试,分别表示如下3点说明。

step over:将执行当前方法内的下一个语句。

step into:如果当前语句是方法调用,将单步执行当前语句调用方法内部第一行。

step out:将跳出当前语句所在方法,到方法外的第一行。

通过调试工具,可以对应用做全面和细致的调试。