递归函数目前在使用swift的xcode项目中导致编译时错误,但在操场上工作得很好。在Xcode 6 beta 4的发行说明中:
以递归方式引用自己或其他的嵌套函数 嵌套在同一外部函数中的函数会使编译器崩溃。 (11266246)例如:
func foo() { func bar() { bar() } func zim() { zang() } func zang() { zim() } }
解决方法:将递归函数移动到外部类型或模块 上下文
将递归函数移动到外部类型或模块上下文是什么意思?
答案 0 :(得分:1)
这意味着您应该在另一个函数之外声明该函数:
func bar() { bar() }
func zim() { zang() }
func zang() { zim() }
func foo() {
}