Objective-C学习之路 使用Xcode (3)

Objective-C学习之路 使用Xcode (3)是本文要介绍的内容,Objective-C学习之路 使用Xcode (2)继续上节介绍,本文分为几个小节进行介绍,如果你感兴趣的话,请一直关注。Xcode功能很多,以下介绍常用的功能,帮助Objective-C开发人员提高编码和调试效率。

快速打开文件

有时候,我们想快速打开头文件,比如:

Objective-C学习之路 使用Xcode (3)

这里的Cocoa.h到底是啥内容。可以鼠标选中Cocoa.h,如上图。然后:

Objective-C学习之路 使用Xcode (3)

这时会弹出对话框:

Objective-C学习之路 使用Xcode (3)

双击Cocoa.h条目就可以看到了:

Objective-C学习之路 使用Xcode (3)

另外,还有个更方便的操作,针对头文件的,就是按住command键鼠标双击类型(函数、变量等)名称。会在源代码窗口中显示该类型的头文件。

使用书签

以前在使用Eclipse,我经常用到TODO标签功能,比如正在编写代码的时候需要做其他事情,或者提醒自己以后再实现的功能,就写个TODO注释,这样,可以在Eclipse的视图中可以找到,方便以后找到这个代码并修改。

Xcode中是否有相应的功能呢?我现在觉得书签功能可以做类似的事情。

比如我写了个代码:

Objective-C学习之路 使用Xcode (3)

这个方法是空的,printInfomation。暂时不需要实现。但是要记下来,便于以后能找到并补充。那么让光标在方法内部。然后鼠标右键,Add to Bookmarks:

Objective-C学习之路 使用Xcode (3)

然后会弹出对话框,在里面填写标签的内容,比如:

Objective-C学习之路 使用Xcode (3)

这样,就可以在项目的书签节点找到这个条目了:

Objective-C学习之路 使用Xcode (3)

点击该条目,将回到刚才添加书签时光标的位置。

自定义导航条

在代码窗口上边,有一个工具条。提供了很多方便的导航功能。比如:

Objective-C学习之路 使用Xcode (3)

也可以用来实现上面TODO的需求。这里有两种自定义导航条的写法。其中:

#pragma mark 

是标准写法。而:

// TODO: xxx  


// FIXME: xxx 

是Xcode兼容的格式。

完整的代码:

Objective-C学习之路 使用Xcode (3)

产生了这样的导航条效果:

Objective-C学习之路 使用Xcode (3)

使用Xcode帮助

如果想快速的查看官方API文档,可在源代码中按下option键并鼠标双击该类型(函数、变量等),比如,下面是NSString的API文档对话框:

Objective-C学习之路 使用Xcode (3)

如果点击上面标识的按钮,则会弹出完整文档的窗口:

Objective-C学习之路 使用Xcode (3)

调试代码

最朴素的调试方法,是通过NSLog打印出程序运行中的结果,然后根据这些结果判断程序运行的流程和结果值是否符合预期。对于简单的问题,使用这种方式也许就够用了。

但是,如果开发的是商业项目,它往往足够复杂,需要借助Xcode提供的专门调试工具。所有的编程工具的调试思路都是一样的。首先,你要在代码中设置断点。想象一下,程序的执行是顺序的,你可能怀疑某个地方的代码除了问题(引发bug),那么就在这段代码开始的地方,比如是个方法的第一行,或者循环的开始部分,设置一个断点。那么程序在调试时会在运行到断点时中止,接下来,你可以一行一行的执行代码,判断执行顺序是否是自己预期的,或者变量的值是否和自己想的一样。

设置断点很简单,比如想对红框表示的行设置断点,就单击该行左侧红圈位置:

Objective-C学习之路 使用Xcode (3)

单击后会出现断点标志:

Objective-C学习之路 使用Xcode (3)

然后,运行代码,比如用快捷键:command+enter。这时将运行代码,并停止在断点处:

Objective-C学习之路 使用Xcode (3)

可通过shift+command+y,调出调试对话框:

Objective-C学习之路 使用Xcode (3)

这和其他语言IDE工具的界面大同小异,因为都具有类似的功能。可通过:

continue,继续执行程序

step over, step into, step out,用于单步调试,分别表示:

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

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

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

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

小结:Objective-C学习之路 使用Xcode (3)的内容介绍完了,希望本文对你有所帮助!请参与以下两节。

相关推荐