Swift: Comprendre // MARK


137

Quel est le but d'écrire des commentaires dans Swift comme:

// MARK: This is a comment

Quand vous pouvez également faire:

// This is a comment

Que réalise-t-il // MARK?

Réponses:


251

La syntaxe // MARK:et // MARK: -dans Swift fonctionne de la même manière que la syntaxe #pragma market #pragma mark -dans Objective-C.

Lorsque vous utilisez cette syntaxe (plus // TODO:et // FIXME:), vous pouvez obtenir des informations supplémentaires à afficher dans la barre de saut rapide.

Considérez ces quelques lignes de code source:

// MARK: A mark comment lives here.

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

entrez la description de l'image ici

Et pour référence, la barre de saut rapide est en haut dans Xcode:

entrez la description de l'image ici

Il existe principalement pour aider à une navigation rapide dans le fichier.

Notez que le tiret ( // MARK: -) fait apparaître une belle ligne de séparation. Considérez ce MARKcommentaire:

// MARK: - A mark comment lives here.

entrez la description de l'image ici

La ligne de séparation gris foncé juste au-dessus de l'option en gras dans ce menu provient du tiret.

De plus, nous pouvons réaliser cette ligne de séparation sans commentaire en n'ayant simplement aucun texte après le tiret:

// MARK: -

entrez la description de l'image ici

Comme mentionné, // TODO:et les // FIXME:commentaires apparaîtront également ici.

// 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
}

entrez la description de l'image ici

  • Les FIXME reçoivent une petite icône de pansement qui les aide à se démarquer.
  • L'icône MARQUE ressemble à une table des matières
  • Les icônes TODO ressemblent plus à une liste de contrôle

Cliquer sur n'importe quelle ligne dans la barre de saut rapide vous amène directement à cette ligne dans le code source.


Cette fonctionnalité est-elle spécifique à Swift / Objective-C ou Xcode?
ma11hew28

Xcode, probablement. Cependant, je peux facilement imaginer que d'autres IDE présenteront potentiellement un comportement similaire.
nhgrif

Vous pouvez également mettre le trait d'union après votre texte`` // MARK: /Delegate impl. -pour marquer la fin d'une section, ou pourquoi pas les deux:// MARK: - Attention! -
Andreas

7

MARK ajoute simplement un MARK visuel dans la barre de saut comme ceci:

ex // MARK: Core Data Stack

entrez la description de l'image ici


-5

Vous pouvez toujours utiliser

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

}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.