许多语言都支持文档注释,以允许生成器(如javadoc或doxygen)通过解析相同的代码来生成代码文档。
Swift有类似的文档注释功能吗?
许多语言都支持文档注释,以允许生成器(如javadoc或doxygen)通过解析相同的代码来生成代码文档。
Swift有类似的文档注释功能吗?
当前回答
是的。基本公共(我用Obj-C等效为它制作了片段)
objective - 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#>.
*/
其他回答
也许关注一下AppleDoc或苹果自己的HeaderDoc是个好主意,它不太被认可。 我仍然可以在10.9 Mavericks终端中找到一些HeaderDoc提示(headerdoc2html)
我推荐阅读最新的“Xcode的新功能”*(不确定它是否仍处于保密协议之下) *链接指向Xcode 5.1版本,其中也包含有关HeaderDoc的信息。
我在Xcode二进制文件中发现了一些有趣的东西。以.swiftdoc结尾的文件。 它肯定有文档,因为这些文件包含Swift UIKit / Foundation API的文档,不幸的是,它似乎是一种专有的文件格式,用于Xcode中的文档查看器。
是的。基本公共(我用Obj-C等效为它制作了片段)
objective - 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#>.
*/
下面是一些在Xcode 6中用于记录swift代码的东西。它有很多bug,对冒号很敏感,但总比没有强:
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";
}
}
上述内容在快速帮助中呈现,正如您所期望的格式化数字列表、项目符号、参数和返回值文档一样。
所有这些都没有被记录下来-档案雷达来帮助他们前进。
在Xcode 8中,你可以这样选择一个方法
func foo(bar: Int) -> String { ... }
然后按command + option + /或在Xcode的“编辑器”菜单中选择“结构”-“添加文档”,它会为你生成如下注释模板:
/// <#Description#>
///
/// - parameter bar: <#bar description#>
///
/// - returns: <#return value description#>