在写代码的时候,如果按照一定的规范在头文件里写上注释的话,

就可以利用Xcode的文档自动输出功能生成一份完整的HTML项目文档。

生成的格式和Apple Developer网站上的API文档几乎是一样的。

我们来看看如何利用Xcode生成项目文档。
步骤:
1. 在XCode里点击Project,然后点Add Target给项目添加一个TARGET

2. 在添加Target的弹出对话框里,选择Aggregate,点击Next,输入一个你喜欢的名字,点击Finish

3. 你会发现TARGETS下面多了一个项目,点击它,然后在右边点击BuildPhases标签,然后点击Add Build Phase并选择Add Run Script

4. Run Script添加成功后,点击它的下拉菜单,把以下代码拷贝到代码对话框里。

# shell script goes here

mkdir -p headerDoc

find ./HelloPhoneGap/Classes -name \*.h -print | xargs headerdoc2html -o headerDoc

gatherheaderdoc headerDoc

exit 0
注意:代码里的./HelloPhoneGap/Classes是你的类文件的保存的路径,请根据各自情况修改。

5. 在XCode左上角的Scheme里选定刚才生成的Target,然后点Run。
运行以后,在你的项目文件夹里,就会生成一个文档文件夹了。
这些自动生成的文档都是根据你在源代码里写的注释生成的。

注意

选VVDocumenter

出现

下面就详细介绍一下各种能自动生成文档的注释

■ header : 头文件基本信息。这个用在每个源代码文件的头文件的最开头

例如:

/*!
@header 这里的信息应该与该源代码文件的名字一致
@abstract 关于这个源代码文件的一些基本描述
@author Kevin Wu (作者信息)
@version 1.00 2012/01/20 Creation (此文档的版本信息)
*/

■ class: 类信息。此注释用在类声明的开头。
例如:

/*!
@class
@abstract 这里可以写关于这个类的一些描述。
*/
@interface MyClass : NSObject {
}

■ property: property的相关注释。

/*!
@property
@abstract 这里可以写关于这个Property的一些基本描述。
*/
@property (nonatomic,readonly) NSString *helloDocText_;

■ method: 函数(方法)的相关注释。

/*!
@method
@abstract 这里可以写一些关于这个方法的一些简要描述
@discussion 这里可以具体写写这个方法如何使用,注意点之类的。如果你是设计一个抽象类或者一个
共通类给给其他类继承的话,建议在这里具体描述一下怎样使用这个方法。
@param text 文字 (这里把这个方法需要的参数列出来)
@param error 错误参照
@result 返回结果
*/
- (BOOL)showText:(NSString *)text
error:(NSError **)error;

■ enum: enum的相关注释。

/*!
@enum
@abstract 关于这个enum的一些基本信息
@constant HelloDocEnumDocDemoTagNumberPopupView PopupView的Tag
@constant HelloDocEnumDocDemoTagNumberOKButton OK按钮的Tag
*/
typedef enum HelloDocEnumDocDemo_{
HelloDocEnumDocDemoTagNumberPopupView = 100,
HelloDocEnumDocDemoTagNumberOKButton,
}HelloDocEnumDocDemo;

■ category: category的相关注释。

/*!
@category
@abstract NSString的Category
*/
@interface KevinNSString (NSString)

■ protocol: protocol的相关注释

/*!
@protocol
@abstract 这个HelloDoc类的一个protocol
@discussion 具体描述信息可以写在这里
*/
@protocol HelloDocDelegate <NSObject>
 
 
 

Xcode 利用VVDocumenter 生成注释 通过设置 再生成注释文档的更多相关文章

  1. JSP利用freemarker生成基于word模板的word文档

    利用freemarker生成基于word模板的word文档 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器 ...

  2. Android Studio javadoc 生成注释文档

    相信大家刚开始写代码的时候就被前辈告知了要养成写注释的好习惯,今天我们来了解一下如何利用我们平时写的注释生成文档,一起来看看吧! 其实注释格式一般如下两种:  /*  *普通多行  *注释  */ / ...

  3. VS2010 生成Xml格式的注释文档

    项目, 属性, build, 勾选xml document file, 重新build, 即可生成xml注释文件, 然后还得找工具软件(看到anytao推荐SandCastle) 生成更易读的帮助文档 ...

  4. 利用JSDOC快速生成注释文档,非常棒。

    有时往往我们需要建一个文档来记录js中的一些代码注释,比如一些公共的函数,又或者一些类,在团队合作中,文档接口也是必不可少的,传统的方式多少有些不便,这里介绍一个工具,它叫JSDOC,它可以用来将注释 ...

  5. [Dynamic Language] 用Sphinx自动生成python代码注释文档

    用Sphinx自动生成python代码注释文档 pip install -U sphinx 安装好了之后,对Python代码的文档,一般使用sphinx-apidoc来自动生成:查看帮助mac-abe ...

  6. 在eclipse中生成html注释文档

    生成api文档 文档注释/** 1.描述 2.@author 作者 @version 版本 3.@param 参数 @return 返回值的含义 @throws 抛出异常描述 @deprecated ...

  7. 使用doxygen生成注释文档

    1. doxygen下载地址:http://www.stack.nl/~dimitri/doxygen/ 2. 参考http://wenku.baidu.com/link?url=ETvBUyaR9f ...

  8. python快速生成注释文档的方法

    python快速生成注释文档的方法 今天将告诉大家一个简单平时只要注意的小细节,就可以轻松生成注释文档,也可以检查我们写的类方法引用名称是否重复有问题等.一看别人专业的大牛们写的文档多牛多羡慕,不用担 ...

  9. [技巧]使用Xcode集成的HeaderDoc自动生成注释和开发文档

    [技巧]使用Xcode集成的HeaderDoc自动生成注释和开发文档     Doxygen本来是一个很好的工具,可是我感觉在mac系统下,如果用doxygen最后生成的CHM文件感觉就不是那么恰当, ...

随机推荐

  1. 基于jquery响应式网站图片无限加载瀑布流布局

    分享一款效果非常酷的jQuery瀑布流布局无限加载图片效果.整个页面采用响应式布局,图片采用jQuery.Lazyload延时加载技术,提升整个页面的加载速度.效果图如下: 在线预览   源码下载 实 ...

  2. subversion commit 报错A checksum mismatch occurred

    期望: 2bea3643d1ea67bfa032af9dd649b1d5   实际: 5693bd753ac9ab1ddfcdd9a644b6bd02 在eclipse工程中出现此问题,则 1.com ...

  3. js元素绑定事件

    想给一个元素绑定一个方法之后,在绑定一个方法而且不被覆盖 window.onload = function () { alert('a'); } window.onlaod=function(){ a ...

  4. R语言基于S4的面向对象编程

    前言 本文接上一篇文章 R语言基于S3的面向对象编程,本文继续介绍R语言基于S4的面向对象编程. S4对象系统具有明显的结构化特征,更适合面向对象的程序设计.Bioconductor社区,以S4对象系 ...

  5. 启动hadoop 2.6遇到的datanode启动不了

    转自 http://blog.csdn.net/zhangt85/article/details/42078347 查看日志如下: 2014-12-22 12:08:27,264 INFO org.m ...

  6. mongodb自动关闭:页面太小,无法完成操作

    解决方法: 增大虚拟内存

  7. 类的数据成员加前缀 m_(表示 member)

    类的数据成员加前缀 m_(表示 member),这样可以避免数据成员与 成员函数的参数同名. 例如: void Object::SetValue(int width, int height) { m_ ...

  8. JavaScript 学习笔记之最终篇

      JavaScript 的学习算是最后一篇了...把JS基础已经核心的部分彻底的进行了学习... 唯一的缺陷就是自己在运用上并不是特别的熟练...今天是JS的最后一章内容了..也是JS 中最常用的内 ...

  9. R语言低级绘图函数-axis

    axis函数用来在一张图表上添加轴线,区别于传统的x轴和y轴,axis 允许在上,下,左, 右4个方向添加轴线 以x轴为例,一条轴线包含3个元素,水平的一条横线,叫做axis line , 刻度线, ...

  10. 3D游戏与计算机图形学中的数学方法-点线面

    <易传·系辞上传>:”易有太极,是生两仪,两仪生四象,四象生八卦.” 借用一下古代先人们的智慧引一下本文的主题-三维图形中的点线面,在三维几何中也有一句话可以和上面的话相对应:由点成线,由 ...