// MARK 是 Swift 中的一种注释标记,用来为代码划分逻辑块或分组功能模块,从而让代码更具可读性,尤其在 Xcode 的代码导航中表现非常有用。
用法和功能
1、分组功能模块:
// MARK 用于分隔代码中的不同部分,通常用于分组属性、方法或扩展。
class Example {
// MARK: - Properties
var name: String
var age: Int
// MARK: - Initializers
init(name: String, age: Int) {
self.name = name
self.age = age
}
// MARK: - Methods
func greet() {
print("Hello, \(name)!")
}
}
在代码导航器(Xcode 的跳转菜单)中,会显示分组标题,例如:
2、标题分隔线:
// MARK: – 会在导航器中添加一个带分隔线的标题。
// MARK: - Properties
// MARK: 不带分隔线,仅显示文本标题。
// MARK: Properties
3、组织扩展:
通常用于扩展中,帮助开发者明确每个扩展的功能。
extension Example {
// MARK: - Networking
func fetchData() {
// Networking code
}
// MARK: - UI Updates
func updateUI() {
// UI update code
}
}
特殊变体:
// TODO: 表示待办事项,Xcode 会高亮显示并支持在“TODOs”面板中查看。
func fetchData() {
// TODO: Implement data fetching logic
print("Fetching data...")
}
// FIXME: 表示需要修复的部分,也会被 Xcode 高亮。
func calculateTotalPrice() -> Double {
// FIXME: The calculation is incorrect for discounted items
return 100.0
}
作用总结
1、提升代码可读性。
2、在 Xcode 的导航菜单中提供清晰的逻辑分组。
3、方便团队协作时快速理解代码结构。
4、可以与 TODO 和 FIXME 一起用作开发提醒。
推荐使用场景
为类、结构体、协议划分不同的功能模块(如属性、方法、初始化等)。
在扩展中为不同功能(如网络请求、UI 更新、辅助方法)划分模块。
标记代码中的重要或待优化的区域。