Swift: Понимание//MARK

Какова цель написания комментариев в Swift как:

// MARK: This is a comment

Когда вы также можете сделать:

// This is a comment

Что достигается // MARK?

+83
источник поделиться
3 ответа

Синтаксис // MARK: и // MARK: - в функциях Swift идентичен синтаксису #pragma mark и #pragma mark - в Objective-C.

При использовании этого синтаксиса (плюс // TODO: и // FIXME:) вы можете получить дополнительную информацию, которая появится на панели быстрого перехода.

Рассмотрим несколько строк исходного кода:

// MARK: A mark comment lives here.

func isPrime(value: UInt) -> Bool {

введите описание изображения здесь

И для справки, панель быстрого перехода находится вверху в Xcode:

введите описание изображения здесь

Он существует, главным образом, для быстрой навигации по файлу.

Обратите внимание, что черточка (// MARK: -) вызывает появление хорошей линии разделения. Рассмотрим этот комментарий MARK:

// MARK: - A mark comment lives here.

введите описание изображения здесь

Более темная серая разделительная линия чуть выше выделенной жирным шрифтом в этом меню происходит из тире.

Кроме того, мы можем достичь этой разделительной строки без комментария, просто не имея никакого текста после тире:

// MARK: -

введите описание изображения здесь

Как уже упоминалось, комментарии // TODO: также появятся здесь.

// MARK: - A mark comment lives here.
func isPrime(value: UInt) -> Bool {
    // TODO: Fix this later

введите описание изображения здесь

При нажатии любой строки в строке быстрого перехода вы попадаете прямо в эту строку в исходном коде.

+142
источник

MARK просто добавляет визуальную метку в панель перехода следующим образом:

ex //MARK: Core Data Stack

enter image description here

+5
источник

Вы всегда можете использовать

// MARK: - Properties
var name: String

// MARK: - Methods
func display() {
}

init(name: String, rollNumber: Int) {

    // TODO: add configuration code
    self.name = name
}

// FIXME: bug XYZ
func fixBug() {

}
0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос