2014-06-08 7 views
10

Gibt es eine Standardmethode zum Schreiben von Dokumentationskommentaren in der Swift-Sprache? Etwas Ähnliches wie Javadoc (Java) oder Docstrings (Python)?Swift Standard Dokumentationskommentar

Beispiel:

/** 
* My docstring example 
* @return the String "foo" 
*/ 
func foo() -> String { 
    return "Foo" 
} 
+0

Siehe http://nshipster.com/swift-documentation/ – Rob

+0

Mögliches Duplikat von [ Hat Swift Dokumentationskommentare oder Tools?] (Http://stackoverflow.com/questions/24047991/does-swift-have-documentation-comments-or-tools) – Kevin

Antwort

0

Ich glaube nicht, dass Swift unterstützt. Zumindest wird es nirgends erwähnt.

13

Ja, es gibt.

Swift enthält "///" Kommentarbehandlung (obwohl wahrscheinlich noch nicht alles).

schreiben so etwas wie:

/// Hey! 
func bof(a: Int) { 

} 

Dann Option Sie auf den Func Name und voilà :)

+0

Dies ist die richtige Antwort. ** Ferenc Kiss ** gab eine teilweise Antwort oben. Schlüsselwörter wie ': param:' und ': returns:' funktionieren, aber innerhalb '///'. –

0

Ich glaube, Apple immer noch die Syntax ändern. Es sieht so aus, als ob alle @ Schlüsselwörter nicht wie bei Xcode 6b2 implementiert sind, aber ansonsten ist es dasselbe wie ObjC.

So etwas wie das, was Sie arbeiten würde haben:

/** 
* I am a function. 
*/ 
func randomFn() {} 

Obwohl es scheint, dass Swift die * s auszurichten stoppt. Natürlich brauchen Sie nicht wirklich die Sterne mit Ausnahme des ersten und letzten, so können Sie dies tun:

/* 
    I am a function. 
*/ 
func randomFn() {} 

Beide so durch den Kommentar-Parser aufgenommen werden, wenn Sie 3-Finger-Klick auf den Funktionsnamen Du wirst sein Dokument sehen.

@param, @return arbeitete für beta1, aber nicht beta2, und diese Schlüsselwörter stürzen den Parser in Beta1 stark ab, was darauf hindeutet, dass Apple noch nicht damit fertig ist, diese zu implementieren.

2

EDIT: Diese Lösung funktioniert nicht mit Swift 2.0.

ÄLTERE Lösung arbeiten bis swift 1.2:
Ich probiere jetzt das schnelle Sprache und Dokumentationswerkzeug aus. Der Xcode reagiert sehr empfindlich auf den Text. Die Schlüsselwörter müssen am selben Ort beginnen. Die Schlüsselwörter müssen in den Doppelpunkt eingefügt werden, Beispiel ": returns:" Wenn der xcode das Schlüsselwort nicht erkennt, dann setzt Xcode den Text in die Beschreibung.

Daraus:

/** 
    Keresés után le lehet kérdezni egy konkrét találatot, pl. ha a harmadikra vagyunk mondjuk kíváncsiak. 

    :note: n-1 legyen az \p index értéke, mert tömb révén a 0. elemmel keződik a tömb. 
    :param: aSearchName Keresés meghatározásánál megadott név. 
    :returns:    Konkrét találat. Ha nincs találat, akkor üres stringgel tér vissza a függvégy. 
    :pre:    `aSearchName` != nil && !\p aSearchName != "" 
    */ 

es sein wird:

enter image description here

+0

Das ist eine Teilantwort. '/ * * /' funktioniert nicht. Schlüsselwörter , wie zum Beispiel ': param:', ': gibt zurück:' funktionieren, aber innen '///' als ** Jean Le Moignan ** m unten erwähnt. –

+0

Beginnen Sie mit '/ **' not '/ *'. –

+0

Leider funktioniert das nicht. –

0

Sie hier aktuelle Dokumentation Standard sehen: http://nshipster.com/swift-documentation/

Beispiel:

/** 
    Lorem ipsum dolor sit amet. 

    - parameter bar: Consectetur adipisicing elit. 

    - returns: Sed do eiusmod tempor. 
*/ 

Das funktioniert für mich. Xcode 7.2

3

Es gibt zwei Arten von Dokumentation Kommentare single line "/// ..."Und mehrzeilige "/**...*/" Dokumentationen NSHipster explains it here

Beispielcode von der Website kopiert:

/** 
    Repeats a string `times` times. 

    - Parameter str: The string to repeat. 
    - Parameter times: The number of times to repeat `str`. 

    - Throws: `MyError.InvalidTimes` if the `times` parameter 
     is less than zero. 

    - Returns: A new string with `str` repeated `times` times. 
*/ 

func repeatString(str: String, times: Int) throws -> String { 
    guard times >= 0 else { throw MyError.InvalidTimes } 
    return Repeat(count: 5, repeatedValue: "Hello").joinWithSeparator("") 
} 
Verwandte Themen