iOS API接口注释规范

说明

AppleDoc支持多种注释方式,这里只介绍一种自认为最简单合适的方法,通过其他关键字如@discussion @brief也能达到类似的效果,这里不做一一介绍。

Example



#import <Foundation/Foundation.h>

/**这里是枚举的简介
  
  这里是枚举的详述,枚举的开头注释要采用多行注释,多行注释必须以斜杠加两个星号开头,以一个星号加斜杠结尾,中间每一行不需要加星号。详述与上面简介需要有一个空行。

  详述可以省略

  @warning 可以省略,如果有一些需要提醒用户的地方可以用`warning`提醒,另外,如果有内容变更也可以通过这种方式体现
  @warning `warning`可以写多个,生成html中会分多个`warning`进行显示
  @since v5.4.0
 */
typedef NS_ENUM(NSInteger, TestEnum) {
    /**
      这里是这个枚举的简介

      这里是这个枚举的详述,可以省略,如果有,则需要与简介隔一行
      
      @since v5.4.0
     */
    TestEnum1 = 0,

    /**
      这里是这个枚举的简介

      这里是这个枚举的详述,可以省略,如果有,则需要与简介隔一行
      
      @since v5.4.0
      @deprecated v5.5.0
     */
    TestEnum2 = 1 DEPRECATED_ATTRIBUTE,

};



/**
  类的开头注释与枚举的开头注释相同
  
  类的开头注释中还可以对类中的方法和属性进行引用达到链接的效果`propertyNew`
  
  类的开头注释中可以增加代码实例(注意下面代码前后要有空行,且需要缩进):

    TestAppleDoc *appleDoc;
    appleDoc.propertyNew = @"appledoc";

  但是不能出现类中不存在的方法,如`alloc, init`,虽然是系统方法,但`appledoc`并不认,会报错
  
  @since v5.4.0
 */
@interface TestAppleDoc : NSObject

///---------------------------------------------------------------------------------------
/// @name properties
///---------------------------------------------------------------------------------------

/**
 属性的注释

 关于属性的描述,替代`propertyDeprecated`

 @since v5.5.0(表示从5.5.0版本新增)
 */
@property (nonatomic, copy) NSString* propertyNew;

/**
 如果接口或属性被废弃,则在简介或详述中说明这是一个被废弃的属性,请使用`propertyNew`
 
 @since v5.3.0(表示从5.3.0版本新增)
 @deprecated v5.5.0(表示从5.5.0版本废弃)
 */
@property (nonatomic, copy ,readonly) NSString* propertyDeprecated DEPRECATED_ATTRIBUTE;

/**
  这是一个枚举属性,下面`@see`可以链接到`TestEnum`的定义

 @see TestEnum
 @since v5.4.0
 */
@property (nonatomic, assign) TestEnum te;


///---------------------------------------------------------------------------------------
/// @name methods
///---------------------------------------------------------------------------------------


/**这里是方法简介

 这里是方法详述,与上面简介需要隔一行,在这里可以描述方法的详细用法

 @param te `TestEnum`类型参数
 @return 返回`uSDKDeviceInfo`实例
 @warning v5.4.1版本中接口发生变化,需要先xx,再调用该方法才能生效(即可以通过该方式声明接口变更)
 */
- (instancetype)initWithTestEnum:(TestEnum)te;

@end


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容