协慌网

登录 贡献 社区

Swift 中的 #pragma mark?

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

答案

你可以使用// MARK:


还有人讨论过,无论如何,自由使用类扩展可能是更好的做法。由于扩展可以实现协议,因此您可以将所有表视图委托方法放在扩展中,并将代码分组到比#pragma mark能够更加语义的级别。

对于那些对使用扩展与 pragma 标记感兴趣的人(如第一条评论中所述),以下是如何从 Swift 工程师实现它:

import UIKit

class SwiftTableViewController: UITableViewController {

    init(coder aDecoder: NSCoder!) {
        super.init(coder: aDecoder)

    }

    override func viewDidLoad() {
        super.viewDidLoad()

    }
}

extension SwiftTableViewController {
    override func numberOfSectionsInTableView(tableView: UITableView?) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView?, numberOfRowsInSection section: Int) -> Int {
        return 5
    }

    override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
        let cell = tableView?.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath) as UITableViewCell;

        cell.textLabel.text = "Hello World"

        return cell
    }

}

它也不一定是最好的做法,但如果你愿意,这就是你如何做到的。

直到 Xcode 5,预处理器指令#pragma mark存在。

从 Xcode 6 开始,您必须使用// MARK:

这些预处理器功能允许将一些结构带到源代码编辑器的功能下拉框中。

一些例子 :

// MARK:

- > 前面会有一个水平分隔符

// MARK: your text goes here

- > 在下拉列表中以粗体显示 “你的文字在这里”

// MARK: - your text goes here

- > 在下拉列表中以粗体显示 “你的文字在这里”,前面是水平分隔符

更新:添加截图 ' 因为有些人似乎仍然有这个问题:

在此输入图像描述