Swift:标记符 MARK、TODO、FIXME、warning、error等

MARK、TODO、FIXME,这些标准符号可以在 Objective-C 或者 Swift 环境下使用。效果等同 #pragma mark - 的作用

MARK、TODO、FIXME用法

1
2
3
//TODO: 标记将来要完成的内容
//MARK: 标记一件事情
//FIXME: 标记以后要修正或完善的内容

效果如下:

但如何实现OC环境下的#warning效果呢?

#warning()

在Swift4.2后,Xcode另外支持了新的⚠️标记

1
2
#warning("Warning description")
#error("Throws a build error")

可以实现这种效果

脚本

target-->build phases-->editor-->add run script build phases中,我们可以添加run script,将文件中的MARK、TODO、FIXME标签内容注入到warning,这种方案就没有版本的限制。

参考代码

1
2
3
TAGS="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/"

参考

StackOverflow:Swift: #warning equivalent

Showing TODO as a warning in a Swift Xcode project

Generate Xcode Warnings from TODO Comments

忘不了的 TODOS & FIXMES & ERRORS

  Total:    No.