首页 > 代码库 > Xcode HeaderDoc 教程(3)
Xcode HeaderDoc 教程(3)
打开 MathAPI.h,将第一个 @param 标签的参数名由firstNumber 修改为 thirdNumber,然后编译。
有一个警告发生,甚至提出了修改建议。它不会影响任何事情,但有助于检查文档中的错误。
特殊注释
Xcode 还支持几种特殊注释,对于你或者使用你代码的人非常有用。
打开 Car.m,在 driveCarWithCompletion: 方法中,在调用completion 块之前添加下列注释:
// FIXME: This is broken // !!!: Holy cow, it should be checked! // ???: Perhaps check if the block is not nil first? |
这里出现了3中注释:
- FIXME: 某个地方需要修正
- !!!: 某个地方需要注意。
- ???: 代码中有问题,或者代码是可疑的。
这些注释不但有助于你浏览代码,而且 Xcode 绘制 Jump Bar 中显示它们。点击Jump Bar,如下图所示:
你将看到这3个注释以粗体显示:
到此,你已经完全掌握了如何对项目进行文档化。花一些时间对项目的其他属性和方法操作一番,并加入一些自己的东西。看看在注释块中改变一些东西或者删除某个标签会发生什么。这将让你明白注释格式如何对文档造成影响的。
用headerdoc2html 创建 HTML文档
文档化是由一个 HeaderDoc 的工具完成的。当 Xcode 安装时,它就已经安装好了。它除了解释你的注释,显示一个弹出菜单以及将注释在Quick Help 中显示之外,还可以在你文档化之后创建 HTML、XML 以及联机帮助手册。
本节介绍 HTML 文件的制作。如果你对用 HeaderDoc 如何创建在线文档感兴趣,请参考HeaderDoc 用户指南.
打开终端,转到 DocumentationExamples 项目目录:
cd /path/to/your/folder |
确认该路径下包含了 Xcodeproject 文件(“DocumentationExamples.xcodeproj”)。
然后用下列命令创建 HTML 文档:
headerdoc2html -o ~/Desktop/documentation DocumentationExamples/ |
此时终端会有许多输出。当创建完毕,返回桌面,出现一个名为documentation 的目录。双击打开,找到 Car_h 目录,打开 index.html。真酷——你拥有了一份精美的文档!
解释一下吧。headerdoc2html 脚本有两个参数:
So what justhappened? Well, you ran the headerdoc2htmlscript with 2 options:
- -o ~/Desktop/documentation – 这个参数指定输出的 Html 文件路径——即桌面的 documentation 目录。
- DocumentationExamples/ – 该参数指定要解析的源文件位于 DocumentationExamples 目录(不包含项目目录下的其他目录,因为它们并不包含源代码)
问题: 最新版本headerdoc2html有个问题,用 google chrome打开 index.html后,左边的目录显示不正常,但 Safari打开正常。而且,你会注意到你早先对 carType 属性所做的注释并未显示。看来最新版本的headerdoc2html 不能正确解析 /// 类的注释,你可以使用 /*! 类型的注释代替。
这很酷,但还可以更进一步。除了手动进入到输出目录中进行导航,HeaderDoc还会创建一个主目录索引。返回终端,导航至新建的 documentation 目录,输入:
cd ~/Desktop/documentation |
然后输入命令,创建内容索引:
gatherheaderdoc . |
gatherheaderdoc自动查找目录,为 . 目录(表示当前目录)创建索引。用 Finder 打开 documentation 目录。你会发现多出一个 masterTOC.html 文件。打开它,它将列出所有已文档化的属性、方法、枚举和块的链接。
你可以将所有 HTML 文件放到 web 服务器上,然后所有人都可以访问你的文档!
VVDocumenter-Xcode
最后的内容是 VVDocumenter-Xcode,一个第三方 Xcode插件,它能让你的文档化工作简单至比使用早先介绍的 Code Snippet 更容易。
首先,从 Github 下载插件。
你所需要做的全部工作就是打开项目,然后 Build。它会将插件自动安装到~/Library/ApplicationSupport/Developer/Shared/Xcode/Plug-ins 目录。
然后重启 Xcode。再次打开 DocumentationExamples项目。在 MathAPI.h,删除 addNumber:toNumber 方法的注释块,然后在方法声明上面输入:
/// |
VVDocumenter-Xcode 将自动创建注释块,包括所有必要的 @param 标签以及自动完成 token。
是不是太给力了?
打开 Car.h,删除 NS_ENUM CarType 的注释,以及每个常量的注释。在NS_ENUM 声明之上,输入:
/// |
这回,它会在 enum 之上创建 discussion 标签,甚至还每个常量上面放入了必要的注释!
VVDocumenter-Xcode 使你的生活更加轻松。如果你想定制VVDocumenter-Xcode,在Xcode中,使用 Window>VVDocumenter菜单。
这里,你可以改变自动完成关键字、注释风格以及其他。你想怎样定制 VVDocumenter-Xcode都行。VVDocumenter-Xcode 为我省下了大量的时间!
接下来做什么?
最终完成的示例项目在 这里下载。
在你自己的代码中进行文档化。尝试自己编写 code snippet 并使用VVDocumentor。尝试不同的风格并找出自己的最爱,在实际工作中使用它们。
无疑,对于你来说,苹果 HeaderDoc 用户指南也是一个很好的学习文档。
如果你有任何疑问或建议,请在下面的讨论中告诉我。