修改XCode默认注释并自动生成文档
2016-04-21 12:57
525 查看
1.找到注释模板位置
首先右键Xcode -> 选项 -> 在Finder中打开 -> 右键 -> 显示包内容
Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate
2.修改模板文件
这个目录下面有很多后缀名为Objective-C跟Swift的文件夹
我们先随便打开一个UIViewObjective-C下面的___FILEBASENAME___
修改成(如果不能修改,可以先把文件copy出来再修改,然后替换原文件)
/*!
@header ___FILENAME___
@abstract 基本描述
@author Created by ___FULLUSERNAME___ on ___DATE___.
@version 1.00 ___DATE___ Creation
___COPYRIGHT___
*/
修改完成后,重启xcode
3.编写注释
■ 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>
4.导出api文档
首先在选择项目,然后add new target -> Other -> aggregate -> 命名 -> 创建完毕
选择新创建好的target -> add New Run Script Phase
在建好的run script中填写下面的信息
# shell script goes here
mkdir -p headerDoc
# ./Doc 为项目相对路径目录,根据实际情况修改
find ./Doc -name \*.h -print | xargs headerdoc2html -o headerDoc
gatherheaderdoc headerDoc
选择使用新建的target编译或运行
项目路径下就可以看到导出的API文档文件夹
首先右键Xcode -> 选项 -> 在Finder中打开 -> 右键 -> 显示包内容
Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate
2.修改模板文件
这个目录下面有很多后缀名为Objective-C跟Swift的文件夹
我们先随便打开一个UIViewObjective-C下面的___FILEBASENAME___
修改成(如果不能修改,可以先把文件copy出来再修改,然后替换原文件)
/*!
@header ___FILENAME___
@abstract 基本描述
@author Created by ___FULLUSERNAME___ on ___DATE___.
@version 1.00 ___DATE___ Creation
___COPYRIGHT___
*/
修改完成后,重启xcode
3.编写注释
■ 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>
4.导出api文档
首先在选择项目,然后add new target -> Other -> aggregate -> 命名 -> 创建完毕
选择新创建好的target -> add New Run Script Phase
在建好的run script中填写下面的信息
# shell script goes here
mkdir -p headerDoc
# ./Doc 为项目相对路径目录,根据实际情况修改
find ./Doc -name \*.h -print | xargs headerdoc2html -o headerDoc
gatherheaderdoc headerDoc
选择使用新建的target编译或运行
项目路径下就可以看到导出的API文档文件夹
相关文章推荐
- Java并发编程:volatile关键字解析(转)
- 约瑟夫生死问题
- MySQL自动备份整库脚本
- iOS申请证书,Certificates, Identifiers &Profiles 简介
- nginx+tomcat+session共享
- Android ImageView实现圆形头像
- POJ 3083 Children of the Candy Corn(BFS+DFS)
- hadoop读写mysql数据库
- 实习过程中linux相关开发学习总结(三)
- QQ5.0列表滑动删除的简单实现
- PHP中关键字
- 通讯录系统
- Nginx Setup CentOS-6.3
- oracle11g各版本下载地址
- linux主机名的修改
- 输错密码?这个 sudo 会“嘲讽”你
- 解决Collection <__NSArrayM: 0x7f8168f7a750> was mutated while being enumerated.'
- SGU 176 有源汇上下界的最小流
- 散列学习 (三)
- 第7周项目1-成员函数、友元函数和一般函数有区别(2)