web-dev-qa-db-fra.com

Swift: comprendre // MARK

Quel est le but d'écrire des commentaires dans Swift en tant que:

// MARK: This is a comment

Quand tu peux aussi faire:

// This is a comment

Que réalise le // MARK?

85
Marcus Leon

La syntaxe // MARK: et // MARK: - dans Swift fonctionne de la même manière que la syntaxe #pragma mark et #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 {

 enter image description here

Et pour référence, la barre de saut rapide est au sommet de Xcode:

 enter image description here

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

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

// MARK: - A mark comment lives here.

 enter image description here

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

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

// MARK: -

 enter image description here

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

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

 enter image description here

En cliquant sur une ligne de la barre de saut rapide, vous accédez directement à cette ligne du code source.

149
nhgrif

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

ex // MARK: Core Data Stack

 enter image description here

5
Stefan Salatic

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

}
0
Aditya Malviya