2014-06-08 13 views
10

Czy istnieje standardowy sposób pisania komentarza do dokumentacji w języku Swift? Coś podobnego do javadoc (Java) lub docstrings (Python)?Swift komentarz do standardowej dokumentacji

przykład:

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

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

+0

Możliwy duplikat [ Czy Swift ma komentarze do dokumentacji lub narzędzia?] (Http://stackoverflow.com/questions/24047991/does-swift-have-documentation-comments- or-tools) – Kevin

Odpowiedz

0

Nie sądzę, że Swift obsługuje. Przynajmniej nigdzie o tym nie wspomina.

13

Tak, jest.

Swift zawiera obsługę komentarzy "///" (choć prawdopodobnie jeszcze nie wszystko).

napisać coś takiego:

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

} 

Następnie Option imienia funk i voila :)

+0

To jest właściwa odpowiedź. ** Ferenc Kiss ** dał częściowa odpowiedź powyżej Słowa kluczowe, takie jak ': param:' i ': zwraca:' do pracy, ale wewnątrz '///'. –

0

wierzę Apple jest wciąż zmieniających się składni. Wygląda na to, że wszystkie @ słowa kluczowe nie są zaimplementowane od Xcode 6b2, ale poza tym jest tak samo jak ObjC.

więc coś, co trzeba będzie pracować:

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

Chociaż wydaje się, że Swift przestaje wyrównać * s. Oczywiście, że naprawdę nie trzeba gwiazdy z wyjątkiem pierwszej i ostatniej, więc można to zrobić:

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

Oba zostaną odebrane przez komentarza parsera więc podczas 3-palec kliknąć na nazwę funkcji zobaczysz jego dokument.

@param, @return pracował dla wersji beta1, ale nie beta2, i te słowa kluczowe często powodują awarię parsera w wersji beta1, co sugeruje, że Apple jeszcze nie skończyło implementacji tych wersji.

2

EDYCJA: To rozwiązanie nie działa z Swift 2.0.

OLDER rozwiązanie działa do Swift 1.2:
Próbuję teraz szybkiego narzędzia do nauki języków i dokumentacji. Kod Xcode jest bardzo czuły na wcięcie tekstu. Słowa kluczowe muszą zaczynać się w tym samym miejscu. Słowa kluczowe należy wstawiać do dwukropka, przykład ": zwraca:" Jeśli xcode nie zostanie rozpoznane słowo kluczowe, wówczas Xcode umieszcza tekst w opisie.

Z tego:

/** 
    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 != "" 
    */ 

będzie:

enter image description here

+0

To jest odpowiedź częściowa. '/ * * /' nie działa. , takie jak ': param:', ': zwraca:' do pracy, ale wewnątrz '///' jako ** Jean Le Moignan ** m ujęte poniżej. –

+0

Rozpocznij od '/ **' not '/ *'. –

+0

Niestety, to nie działa. –

0

można zobaczyć rzeczywisty standardowej dokumentacji tutaj: http://nshipster.com/swift-documentation/

Przykład:

/** 
    Lorem ipsum dolor sit amet. 

    - parameter bar: Consectetur adipisicing elit. 

    - returns: Sed do eiusmod tempor. 
*/ 

To działa dla mnie. Xcode 7.2

3

Istnieją dwa typy Komentarze do dokumentacji pojedyncza linia "/// ..."A multiline "/**...*/" dokumentacje NSHipster explains it here

Przykładowy kod skopiowany ze strony:

/** 
    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("") 
} 
Powiązane problemy