在Objective C中,我可以使用#pragma mark来标记符号导航器中的代码片段。由于这是一个C预处理器命令,所以在Swift中不可用。在Swift中有替代品吗,或者我必须使用丑陋的评论吗?
当前回答
Add a to-do item: Insert a comment with the prefix TODO:. For example: // TODO: [your to-do item]. Add a bug fix reminder: Insert a comment with the prefix FIXME:. For example: // FIXME: [your bug fix reminder]. Add a heading: Insert a comment with the prefix MARK:. For example: // MARK: [your section heading]. Add a separator line: To add a separator above an annotation, add a hyphen (-) before the comment portion of the annotation. For example: // MARK: - [your content]. To add a separator below an annotation, add a hyphen (-) after the comment portion of the annotation. For example: // MARK: [your content] -.
其他回答
在Xcode 5之前,预处理器指令#pragma标记存在。
从Xcode 6开始,你必须使用// MARK:
这些预处理器特性允许为源代码编辑器的函数下拉框带来一些结构。
一些例子:
// MARK:
->前面有一个水平分隔符
// MARK: your text goes here
->在下拉列表中将“您的文本放在这里”以粗体显示
// MARK: - your text goes here
->在下拉列表中将“您的文本放在这里”以粗体显示,前面有一个水平分隔符
更新:增加了截图,因为有些人似乎仍然有问题:
//# MARK: - Spinner Class Methods
在冒号和描述之间添加一行,以插入分隔线。这有助于更好地组织代码。上面的代码和截图使用了包含一行的MARK注释。
//#标记:-文本方法(LINE) //#标记:文本方法(NO LINE)
这只适用于MARK注释。
今天早上在WWDC上,苹果工程师在Swift实验室确认,目前没有任何#pragma或类似的东西,他们认为这是一个bug,很快就会出现,所以我猜是beta 2,我希望。
不管怎样,它在路上了。
Xcode现在支持//MARK:, //TODO:和//FIXME标记来注释你的代码和 在跳转栏中列出它们
在Xcode 11中,他们添加了小地图,可以激活编辑器->小地图。
小地图将显示每个标记文本在代码中快速定位。 每个标记都写为// mark: Variables
在Objective-C中使用Pragma标记- [SOME TEXT HERE]将几个函数通过行分隔分组在一起。
在Swift中,您可以使用MARK, TODO或FIXME来实现这一点
i. MARK: //MARK: viewDidLoad
这将创建一条水平线,函数分组在viewDidLoad下(如截图1所示)
ii. 待办事项: //待办事项: - viewDidLoad
这将把函数分组在TODO: - viewDidLoad类别下(如截图2所示)
iii. FIXME : //FIXME - viewDidLoad
这将把函数分组在FIXME下:- viewDidLoad类别(如截图3所示)
查看apple文档了解详细信息。