在Objective C中,我可以使用#pragma mark来标记符号导航器中的代码片段。由于这是一个C预处理器命令,所以在Swift中不可用。在Swift中有替代品吗,或者我必须使用丑陋的评论吗?
当前回答
在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文档了解详细信息。
其他回答
在Xcode 11中,他们添加了小地图,可以激活编辑器->小地图。
小地图将显示每个标记文本在代码中快速定位。 每个标记都写为// mark: Variables
有三个选项可以在Swift中添加#pragma_mark:
1) // MARK: -你的文字在这里-
2) // TODO: -你的文本在这里-
3) // FIXME: -你的文本在这里-
注意:用于添加分隔符
Use
// MARK: SectionName
or
// MARK: - SectionName
这将在pragma标记上面加一行,使其更具可读性。
为了方便,只需添加
// MARK: - <#label#>
到您的代码片段。
▽替代方式
这样使用它
private typealias SectionName = ViewController
private extension SectionName {
// Your methods
}
这不仅可以添加标记(就像pragma mark一样),还可以很好地隔离代码。
Pragma标记是一种提高代码可读性的方法。pragma注释会像Xcode跳跃栏上的标签一样出现。
//MARK: <Your comment goes here>
示例:在代码中,
//MARK: Properties
// MARK: View Life cycle
//MARK: Helper methods
这是它在Xcode跳转栏中的显示方式。
Xcode官方文档
苹果目前的官方文档部分为可见性注释代码引入了三个注释:TODO:, FIXME:和MARK:。
最新的Xcode版本(v14.2)支持另外两个注释(虽然没有出现在官方文档中):!!:和??
注意:! !:和??:被某些Xcode版本(如v10.0)不支持,原因未知。
示例截图1 - Xcode 14.2 + macOS 13.1 (Ventura)
示例截图2 - Xcode 10.1 + macOS 10.14.3 (Mojave)
推荐文章
- 我应该如何从字符串中删除所有的前导空格?- - - - - -斯威夫特
- Swift:理解// MARK
- Swift -转换为绝对值
- Swift编译器错误:“框架模块内的非模块化头”
- 从父iOS访问容器视图控制器
- NSRange从Swift Range?
- 我可以使用范围操作符与if语句在Swift?
- 在Swift中转换字符串为日期
- 点击按钮时如何打开手机设置?
- 在Swift中使用自定义消息抛出错误/异常的最简单方法?
- 编译器错误:带有Objective-C选择器的方法与前面带有相同Objective-C选择器的声明冲突
- 如何在Swift中获得唯一的设备ID ?
- 如何在Swift中获得枚举值的名称?
- 如何调用手势点击在UIView编程在迅速
- 什么是Swift相当于respondsToSelector?