枚举值特别多的时候,想每一个枚举值都具体注释提示的话,就只能在每个枚举上一行加上/// ···
或/** ··· */
,但是会让代码显得不整齐(可能是我强迫症😂),如果需要给每个枚举值增加一个简短的注释,并且在使用的时候有注释提示可以这样写。
- 带提示代码后单行注释 ://!< ···
或多行注释: /**< ··· */
和 /*!< ··· */
/// 测试枚举
typedef NS_ENUM(NSUInteger, ZYTestType) {
ZYTestTypeA, //!< 类型A
ZYTestTypeB, /**< 类型B */
ZYTestTypeC, /*!< 类型C */
};
![](https://img.haomeiwen.com/i2955252/f7ce452f0158f015.png)
这种注释方法,同样适合类的属性注释或者结构体属性注释。
下面是OC中常见的一些注释:
- 基本单行注释: //
一般在方法内对一些步骤进行注释,有时写在代码上一行,有时也接着代码写:
// 测试方法
- (NSArray *)testFunctionWithString:(NSString *)str {
//创建一个数组
NSArray *array = [NSArray new];
array[1] = str; //给数组赋值
return array;
}
如果写在方法前,调用的时候无法查看注释提示
- 基本多行注释:/* ··· */
/* 测试方法
* 这个方法返回一个数组
*/
- (NSArray *)testFunctionWithString:(NSString *)str {
...
}
- 带提示多行注释:/** ··· */
或 /*! ··· */
这个方法很强大,这里只展示我们常用的
/**
* 测试方法
*
* 返回一个数组
* @param str1 传入的参数
* @return 返回一个数组
*/
- (NSArray *)testFunctionWithString:(NSString *)str;
第一行和第二行需要空一行,这样第二行会被分配到 Discussion 这个组中,不然会被拼接到 Summary中
![](https://img.haomeiwen.com/i2955252/dc7ce906849176a1.png)
- 带提示多行注释:///
这个是在Swift出来后的注释方法,OC也是可以用的,现在的Xcode command+option+/
出来默认就是这个了
/// 测试方法
///
/// 返回一个数组
/// @param str 传入的参数
/// @return 返回一个数组
- (NSArray *)testFunctionWithString:(NSString *)str;
它的具体效果和上方/** ··· */
一致
- 分组注释 #pragma mark - ···
Swift:// MARK: ···
使用这个注释能在导航栏中快速找到具体功能模块代码
#pragma mark - 生命周期
//可用这个创建自定义代码块
#pragma mark - <#注释#>
![](https://img.haomeiwen.com/i2955252/78cc2659097620c3.png)
同时在新的 Xcode 的 MiniMap 中也能直接看到注释
![](https://img.haomeiwen.com/i2955252/687f1b6813d21a5a.png)
- 未做提示注释 //TODO: ···
Swift一致
一般用来标识需要做的工作,TODO也会在快捷导航栏中显示
- (void)viewDidLoad {
[super viewDidLoad];
//TODO: 加载图片,做一个炫酷的效果
}
![](https://img.haomeiwen.com/i2955252/646aad18e326cb4e.png)
-
警告注释:
#warning ···
Swift:#warning(" ··· ")
这个编译警告注释会直接在界面提示,同时在左侧导航栏中的编译警告中(User-Defined Issue)显示,但是中文有点尴尬哦,不显示
- (void)viewDidLoad {
[super viewDidLoad];
//TODO: 加载图片,做一个炫酷的效果
#warning Can Not Forget 中文尴尬
}
![](https://img.haomeiwen.com/i2955252/6798710c1540e1fb.png)
网友评论