在Objective C中,我可以使用#pragma mark来标记符号导航器中的代码片段。由于这是一个C预处理器命令,所以在Swift中不可用。在Swift中有替代品吗,或者我必须使用丑陋的评论吗?
当前回答
你可能也会对Swift 4.2 / XCode 10编译器指令感兴趣
#warning("Some string to display")
and
#error("Some error to display")
当你真的不想错过什么东西时,它可能会很有用。
其他回答
在Objective-C代码中,Xcode检测像// MARK: - foo这样的注释,它比#pragma更可移植。但这些似乎也没有被采纳(目前?)
编辑:在Xcode 6 beta 4中修复。
//MARK:在Xcode 6.3.2中似乎不工作。然而,这是我所做的让它工作:
1)代码:
import Cocoa
class MainWindowController: NSWindowController {
//MARK: - My cool methods
func fly() {
}
func turnInvisible() {
}
}
2)在跳转栏中添加//MARK:注释时没有任何变化。然而,如果我点击跳转栏中最右边的名字,在我的例子中,它说的是MainWindowController(带有一个领先的C图标),然后一个弹出窗口将显示显示//MARK:注释的效果,即一个标题说“my cool methods”:
3)我还注意到,如果我点击我的代码中的一个方法,那么这个方法就会变成跳转栏中最右边的条目。为了让MainWindowController(带有一个C图标)成为跳转栏中最右边的条目,我必须单击方法上面的空白。
在Xcode 11中,他们添加了小地图,可以激活编辑器->小地图。
小地图将显示每个标记文本在代码中快速定位。 每个标记都写为// mark: Variables
在Xcode 5之前,预处理器指令#pragma标记存在。
从Xcode 6开始,你必须使用// MARK:
这些预处理器特性允许为源代码编辑器的函数下拉框带来一些结构。
一些例子:
// MARK:
->前面有一个水平分隔符
// MARK: your text goes here
->在下拉列表中将“您的文本放在这里”以粗体显示
// MARK: - your text goes here
->在下拉列表中将“您的文本放在这里”以粗体显示,前面有一个水平分隔符
更新:增加了截图,因为有些人似乎仍然有问题:
有三个选项可以在Swift中添加#pragma_mark:
1) // MARK: -你的文字在这里-
2) // TODO: -你的文本在这里-
3) // FIXME: -你的文本在这里-
注意:用于添加分隔符
推荐文章
- 在Swift中如何调用GCD主线程上的参数方法?
- swift语言中的结构与类
- 我如何在Swift连接字符串?
- 我应该如何从字符串中删除所有的前导空格?- - - - - -斯威夫特
- Swift:理解// MARK
- Swift -转换为绝对值
- Swift编译器错误:“框架模块内的非模块化头”
- 从父iOS访问容器视图控制器
- NSRange从Swift Range?
- 我可以使用范围操作符与if语句在Swift?
- 在Swift中转换字符串为日期
- 点击按钮时如何打开手机设置?
- 在Swift中使用自定义消息抛出错误/异常的最简单方法?
- 编译器错误:带有Objective-C选择器的方法与前面带有相同Objective-C选择器的声明冲突
- 如何在Swift中获得唯一的设备ID ?