【发布时间】:2014-06-08 15:17:21
【问题描述】:
有没有标准的方式来用 Swift 语言编写文档注释?相当于 javadoc (Java) 或 docstrings (Python) 的东西?
示例:
/**
* My docstring example
* @return the String "foo"
*/
func foo() -> String {
return "Foo"
}
【问题讨论】:
标签: swift
有没有标准的方式来用 Swift 语言编写文档注释?相当于 javadoc (Java) 或 docstrings (Python) 的东西?
示例:
/**
* My docstring example
* @return the String "foo"
*/
func foo() -> String {
return "Foo"
}
【问题讨论】:
标签: swift
是的。
Swift 包括“///”注释处理(虽然可能还不是全部)。
这样写:
/// Hey!
func bof(a: Int) {
}
然后选项-单击函数名称,瞧:)
【讨论】:
:param: 和 :returns: 确实有效,但在 /// 内部。
Documentation cmets有两种类型:单行“///...”和多行“/**...*/”文档NSHipster explains it here
从网站复制的示例代码:
/**
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("")
}
【讨论】:
编辑:此解决方案不适用于 Swift 2.0。
旧的解决方案在 swift 1.2 之前有效:
我现在正在试用 swift 语言和文档工具。
Xcode 对缩进文本非常敏感。关键字必须从同一位置开始。
关键字必须插入beetwen冒号,例如“:returns:”
如果 xcode 无法识别关键字,则 Xcode 将文本放入描述中。
从这里:
/**
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 != ""
*/
它将是:
【讨论】:
/* */ 不起作用。关键字,如 :param:、:returns: 确实有效,但在 /// 内部,正如下面提到的 Jean Le Moignan。
/** 而非/* 开头。
:note: 和:pre:,因为它们不是公认的关键字。您不妨使用:foo: 和:bar:。
我相信 Apple 仍在改变语法。看起来所有的@关键字都没有在 Xcode 6b2 中实现,但除此之外它与 ObjC 相同。
所以像你所拥有的那样工作:
/**
* I am a function.
*/
func randomFn() {}
虽然 Swift 似乎停止对齐 *s。当然,除了第一个和最后一个,你并不需要星星,所以你可以这样做:
/*
I am a function.
*/
func randomFn() {}
评论解析器会拾取两者,因此当您用三指点击函数名称时,您将看到它的文档。
@param,@return 适用于 beta1 但不适用于 beta2,这些关键字在 beta1 中使解析器崩溃了很多,这表明 Apple 还没有完成这些实现。
【讨论】:
您可以在此处查看实际的文档标准: http://nshipster.com/swift-documentation/
例子:
/**
Lorem ipsum dolor sit amet.
- parameter bar: Consectetur adipisicing elit.
- returns: Sed do eiusmod tempor.
*/
这对我有用。 Xcode 7.2
【讨论】: