Xcode中那些让人焕然一新的特殊注释#pragma mark、TODO、FIXME、MARK

241 阅读4分钟

#pragma mark -

#pragma mark - TableViewDelegate



从技术角度讲,以 #pragma 开头的代码是一条编译器指令,一个特定于程序或编译器的指令。它们不一定适用于其它编译器或其它环境。如果编译器不能识别该指令,则会将其忽略。

其作用是,告诉Xcode编译器,要在编辑器窗格顶部的方法和函数弹出菜单中将代码分隔开,如下图所示:

在这里插入图片描述

其他特殊注释,这些一般比较少用,一般在特殊情况下使用,而且用完之后尽量及时的清除,使得代码更加规范:

2、其他注释【TODO、FIXME、!!!、???、MARK】:


方法一(系统自带功能):

当你需要标记部分代码以供将来参考,比如: 优化,改进,可能的更改,要讨论的问题等。通常我们会在代码中加入如下的标记表示待办:


///TODO:标示处有功能代码待编写

///FIXME:标示处代码需要修正

///!!!:标示处代码需要注意

///???:标示处代码有疑问

///MARK:标记,和#pragma mark效果相同



使用示例:

1

Xcode11中效果:

2

在Xcode8及之前,使用的方式相同,还前面要和【#pragma mark - 】配合使用才会有小图标效果,具体怎么样这里就不说啦,有兴趣的话查看【Xcode中使用TODO、FIXME、!!!、???、MARK 进行标记(作者:hhyx168)】。

我当前使用的版本是Xcode11,让我们也看一下和【#pragma mark - 】配合使用,会是什么样的结果:

使用示例:

3

Xcode11中效果:

4

我在想是不是因为多了代表分行的短横/减号符号【 - 】的缘故,于是就试了一下,结果也展示出了一样的效果。

使用示例:


#pragma mark TODO:  标示处有功能代码待编写

#pragma mark FIXME: 标示处代码需要修正

#pragma mark !!!:  标示处代码需要注意

#pragma mark ???:  标示处代码有疑问

#pragma mark MARK:  标记,和#pragma mark效果相同



方法二(脚本实现):

1、直接先上脚本:


TAGS="XXX:|!!!:|MARK:|TODO:|FIXME:|#WARNING:"

ERRORTAG="#ERROR:"

find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$|($ERRORTAG).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/" | perl -p -e "s/($ERRORTAG)/ error: \$1/"



2、将脚本加到这个位置

在这里插入图片描述

3、这样加上//TODO:等的注释,编译的时候就会有警告提示了

在这里插入图片描述

应用总结:


1、不管是系统方法还是脚本实现,这些标记对项目的开发维护只是起到锦上添花的作用,但是要规范代码,它们将不可或缺。

2、针对项目而言,一定要记得定期处理这些的标记(除MARK标记外),不然时间越长,垃圾代码就越多了。

3、Xcode对这些标记的实现和写法做了点细节调整,但是感觉起来会更加性感,至于想使用图一还是使用最后一张图的写法,主要看个人的习惯。个人来说,还是喜欢和【#pragma mark 】配合使用,这样会醒目一点。

4、个人感觉唯一美中不足的地方是,和【#pragma mark - 】配合只实现分行作用,没能展示对应的小图标。–> 总想着能尽善尽美😆。

5、脚本实现的方法,感觉太抢眼,对拥有警告强迫症的人来说,简直就是噩梦般的存在,针对那些必须要尽快修改的地方可以加上😺。

使用方法汇总: