在Objective C中,我可以使用#pragma mark来标记符号导航器中的代码片段。由于这是一个C预处理器命令,所以在Swift中不可用。在Swift中有替代品吗,或者我必须使用丑陋的评论吗?


当前回答

试试这个:

// MARK: Reload TableView

func reloadTableView(){

    tableView.reload()
}

其他回答

有三个选项可以在Swift中添加#pragma_mark:

1) // MARK: -你的文字在这里-

2) // TODO: -你的文本在这里-

3) // FIXME: -你的文本在这里-

注意:用于添加分隔符

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] -.

在Objective-C代码中,Xcode检测像// MARK: - foo这样的注释,它比#pragma更可移植。但这些似乎也没有被采纳(目前?)

编辑:在Xcode 6 beta 4中修复。

在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文档了解详细信息。

你可能也会对Swift 4.2 / XCode 10编译器指令感兴趣

#warning("Some string to display")

and

#error("Some error to display")

当你真的不想错过什么东西时,它可能会很有用。