xcode - style - swiftdoc
Swift: Entendiendo// MARK (3)
La sintaxis
// MARK:
y
// MARK: -
en Swift funciona de manera idéntica a la
#pragma mark
#pragma mark -
y a la
#pragma mark
#pragma mark -
sintaxis en Objective-C.
Al usar esta sintaxis (más
// TODO:
y
// FIXME:
, puede obtener información adicional para mostrar en la barra de salto rápido.
Considere estas pocas líneas de código fuente:
// MARK: A mark comment lives here.
func isPrime(_ value: UInt) -> Bool { return true }
Y como referencia, la barra de salto rápido está en la parte superior de Xcode:
Existe principalmente para ayudar con la navegación rápida dentro del archivo.
Tenga en cuenta que el guión (
// MARK: -
) hace que aparezca una buena línea de separación.
Considere este comentario de
MARK
:
// MARK: - A mark comment lives here.
La línea de separación gris más oscura justo encima de la opción en negrita en ese menú proviene del tablero.
Además, podemos lograr esta línea de separación sin un comentario simplemente al no tener ningún texto después del guión:
// MARK: -
Como se mencionó,
// TODO:
y
// FIXME:
comentarios también aparecerán aquí.
// 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
}
- Los FIXME obtienen un pequeño ícono de curita que los ayuda a destacarse.
- El ícono MARK se ve como una tabla de contenido
- Los íconos TODO se parecen más a una lista de verificación
Al hacer clic en cualquier línea en la barra de salto rápido lo lleva directamente a esa línea en el código fuente.
¿Cuál es el propósito de escribir comentarios en Swift como:
// MARK: This is a comment
Cuando también puedes hacer:
// This is a comment
¿Qué logra el
// MARK
?
Siempre puedes usar
// 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() {
}