工欲善其事,必先利其器。很多朋友在学一门新技术的时候,都急于入坑,而忽略了对工具的熟悉,包括我自己也是如此。大神们,不妨回归到基础,跟着本文再过一遍Xcode的导航视图,看看是否有所收获。

1.项目导航面板(Project Navigator)
这个面板列出了项目的所有文件,包括源代码文件、图片文件、属性列表文件(也叫plist文件),如图1-1所示:

在项目导航面板中点击任意文件,该文件都会在编辑区中显示,以供查看和编辑。这个面板开发者几乎每天都在用,都已经很熟悉了,就不再做过多介绍。
2,符号导航面板(Symbol Navigator)
顾名思义,这个面板中聚集了在工作区中定义的所有符号,如图2-1所示:

从根本上讲,符号就是编译器能识别的东西,例如类、成员变量等。如图2-1中的
AppDelegate
、uid
、userName
等。点击倒三角按钮就可以看到每个分组中定义的文件和符号。
3,查找导航面板(Find Navigator)
使用这个面板可以对工作区中所有文件进行搜索。当然,通常有搜索都有替换功能,如图3-1:

Xcode的查找功能其实非常强大,如图3-2所示,Xcode支持查找文字、引用和定义,甚至还支持正则表达式和调用层级查找。并且还有包含、匹配等查找模式。

举个例子,我想要查找引号中间的汉字,就可以直接写个正则表达式
"[^\x00-\xff]+"
来进行查找,如图3-3:
4,问题导航面板(Issues Navigator)
理想状态是这个面板想图4-1那样保持干净,也就说明你的项目没有任何错误或者警告。

当然,有时也可以利用这个面板来方便自己。比如快下班了,可某个模块还没写完,怕第二天找不到,就可以给自己来个
warning
甚至是error
,这样第二天来上班就可以在问题导航面板中轻松找到了,如图4-2:
5,测试导航面板(Test Navigator)
如果使用Xcode内置的单元测试功能,那么结果会在这里看到测试结果,如图5-1:

6,调试导航面板(Debug Navigator)
想要开发出高性能的APP,你就需要把这个面板“翻烂”,在这里你可以清晰地看到APP的CPU使用情况、内存使用情况、网络请求等,如图6-1:

7,断点导航面板(Breakpoint Navigator)
这个面板,开发者们肯定也非常熟悉。在这里,可以看到已设置的所有断点,并且只要在列表中点击了某个断点,编辑区就会显示该断点所对应的代码,如图7-1。

断点面板不得不提的是全局断点。点击该面板左下角的加号按钮,从弹出的列表中选择
Exception Breakpoint
,即可设置一个全局断点,如图7-2。这样一来运行之后如果有错误,就会停在出错的地方,而不是main函数了。
8,日志导航面板(Report Navigator)
如图8-1所示,该面板中保存着构建结果记录及运行日志。点击某条记录,右侧就会显示出相应的结果。这个面板貌似没啥用,反正我基本不用。

参考书籍:《精通iOS开发》
网友评论