在Xcode IDE中使用// TODO注解

ecbunoof  于 2023-03-04  发布在  其他
关注(0)|答案(1)|浏览(195)

有人能告诉我这是IDE的工作方式吗?或者我不明白// TODO注解功能是如何工作的?当我放置// TODO时,Xcode会在跳转栏中添加一个TODO部分。多个TODO会放置多个部分,并将TODO注解作为部分标题。
我所看到的问题是,任何出现在我的TODO注解之后的方法都包含在跳转栏的TODO部分中。为什么Xcode只是自动将我的注解之后的所有方法添加为TODO的一部分?
可能我没有明白为何会这样做,又或我做错了,可否请人澄清一下?
谢谢!

wqsoz72f

wqsoz72f1#

特殊注解标记

不确定是否有// TODO特殊注解标记。有TODO:FIXME:MARK:MARK: -(放置分隔符)。MARK: - Some Text会放置一些带有分隔符的文本。还有// ???:// !!!:-它们也会产生标记-试试看吧(它们可能在Swift中不起作用)。
不带:// TODO不会创建任何标记(从Xcode 10开始)。

通过将注解标记转换为Xcode警告来突出显示注解标记

您可以使用某些类型的注解在构建时生成警告。选择Project -〉Build Phases,按“+”按钮添加另一个阶段。在创建时选择Run Script。添加为脚本主体(确保Shell为/bin/sh):

KEYWORDS="TODO:|FIXME:|\?\?\?:|\!\!\!:"
find "${SRCROOT}" \( -name "*.swift" \) -print0 | \
xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | \
perl -p -e "s/($KEYWORDS)/ warning: \$1/"

现在,当您构建时,您将收到带有注解文本的警告。

您可以自由地将关键字限制为修复和!!!。要提前获得这些警告(而不是等待实际构建),只需将新创建的Run Script部分移到顶部。可以在herehere中找到此解决方案的一些变体。

抛出自定义编译时警告和错误

如果您需要对某段代码执行explicitly rise a warning,Swift允许使用以下编译指令:

#if os(iOS)
    #warning("this code is untested in iOS")
#endif

或者

#error("Throws a build error")

相关问题