许多语言都支持文档注释,以允许生成器(如javadoc
或doxygen)通过解析相同的代码来生成代码文档。
Swift是否有这样的类型文档评论功能?
答案 0 :(得分:58)
以下是一些用于记录Xcode 6中的swift代码的东西。它对冒号非常错误和敏感,但它总比没有好:
class Foo {
/// This method does things.
/// Here are the steps you should follow to use this method
///
/// 1. Prepare your thing
/// 2. Tell all your friends about the thing.
/// 3. Call this method to do the thing.
///
/// Here are some bullet points to remember
///
/// * Do it right
/// * Do it now
/// * Don't run with scissors (unless it's tuesday)
///
/// :param: name The name of the thing you want to do
/// :returns: a message telling you we did the thing
func doThing(name : String) -> String {
return "Did the \(name) thing";
}
}
上面的内容在快速帮助中呈现,正如您所期望的那样,使用格式化的数字列表,项目符号,参数和返回值文档。
这些都没有记录 - 提交雷达来帮助他们。
答案 1 :(得分:36)
Xcode 8中的新功能,您可以选择这样的方法
func foo(bar: Int) -> String { ... }
然后按 command
+ option
+ /
或选择"结构" - "从Xcode"编辑"添加文档" 菜单,它将为您生成以下注释模板:
/// <#Description#>
///
/// - parameter bar: <#bar description#>
///
/// - returns: <#return value description#>
答案 2 :(得分:27)
Swift包含“///”评论处理(尽管可能还不是所有内容)。
写下类似的内容:
/// Hey!
func bof(a: Int) {
}
然后选择 - 点击func名称并发表声音:)
答案 3 :(得分:11)
我可以确认ShakenManChild提供了peopr解决方案
请确保您在说明下方有一个空行!
答案 4 :(得分:8)
是。基本常见(我使用Obj-C等效制作了它的片段)
<强>目标-C:强>
/**
@brief <#Short description - what it is doing#>
@discussion <#Description#>
@param <#paramName#> <#Description#>.
@return <#dataType#> <#Description#>.
*/
<强>夫特强>
/**
<#Short inline description - what it is doing#>
<#Description#>
:param: <#paramName#> <#Description#>.
:returns: <#dataType#> <#Description#>.
*/
答案 5 :(得分:7)
如果你只使用Swift,那么Jazzy值得一看。
答案 6 :(得分:6)
我发现了一些有趣的东西,挖掘了Xcode二进制文件。结尾为.swiftdoc
的文件。
它肯定有文档,因为这些文件包含Swift UIKit / Foundation API的文档,不幸的是它似乎是专有的文件格式,可以在Xcode的Documentation查看器中使用。
答案 7 :(得分:5)
答案 8 :(得分:0)
Jazzy可以帮助生成漂亮的苹果风格文档。 这是一个示例应用程序,其中包含有关如何快速使用和配置的详细信息。
答案 9 :(得分:-1)
关注AppleDoc或Apple自己的HeaderDoc可能是一个好主意,这是不被认可的。 我仍然可以在10.9 Mavericks终端中找到一些HeaderDoc提示(headerdoc2html)
我建议阅读最新的“What's New In Xcode”*(不确定它是否还在NDA下) *链接指向Xcode 5.1版本,其中包含有关HeaderDoc的信息。
答案 10 :(得分:-1)
从Xcode 5.0开始,支持Doxygen和HeaderDoc结构化注释。