Swift: Comprensione // MARK


137

Qual è lo scopo di scrivere commenti in Swift come:

// MARK: This is a comment

Quando puoi anche fare:

// This is a comment

Che cosa // MARKottiene?

Risposte:


251

La sintassi // MARK:e // MARK: -in Swift funziona in modo identico alla sintassi #pragma marke #pragma mark -in Objective-C.

Quando si utilizza questa sintassi (più // TODO:e // FIXME:), è possibile ottenere alcune informazioni aggiuntive da visualizzare nella barra di salto rapido.

Considera queste poche righe di codice sorgente:

// MARK: A mark comment lives here.

func isPrime(_ value: UInt) -> Bool { return true }

inserisci qui la descrizione dell'immagine

E per riferimento, la barra di salto rapido è in alto in Xcode:

inserisci qui la descrizione dell'immagine

Esiste principalmente per aiutare con la navigazione rapida all'interno del file.

Nota che il trattino ( // MARK: -) fa apparire una bella linea di separazione. Considera questo MARKcommento:

// MARK: - A mark comment lives here.

inserisci qui la descrizione dell'immagine

La linea di separazione grigia più scura appena sopra l'opzione in grassetto in quel menu proviene dal trattino.

Inoltre, possiamo ottenere questa linea di separazione senza un commento semplicemente non avendo alcun testo dopo il trattino:

// MARK: -

inserisci qui la descrizione dell'immagine

Come detto, // TODO:e // FIXME:commenti apparirà anche qui.

// MARK: - Prime functions

func isPrime(_ value: UInt) -> Bool {
    // TODO: Actually implement the logic for this method
    return true
}

func nthPrime(_ value: UInt) -> Int {
    // FIXME: Returns incorrect values for some arguments
    return 2
}

inserisci qui la descrizione dell'immagine

  • I FIXME ottengono una piccola icona di cerotto che li aiuta a distinguersi.
  • L'icona MARK appare come un sommario
  • Le icone TODO sembrano più una lista di controllo

Facendo clic su una riga qualsiasi nella barra di salto rapido si accede direttamente a tale riga nel codice sorgente.


Questa funzionalità è specifica di Swift / Objective-C o Xcode?
ma11hew28,

Xcode, presumibilmente. Tuttavia, posso facilmente immaginare che altri IDE mostrino potenzialmente comportamenti simili.
nhgrif,

Puoi anche inserire il trattino dopo il tuo testo, // MARK: /Delegate impl. -per segnare la fine di una sezione, o perché non entrambi:// MARK: - Attention! -
Andreas

7

MARK aggiunge semplicemente un MARK visivo nella barra di salto in questo modo:

ex // MARK: Core Data Stack

inserisci qui la descrizione dell'immagine


-5

Puoi sempre usare

// 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() {

}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.