Xcode 在Swift中递归引用自身的函数

Xcode 在Swift中递归引用自身的函数,xcode,recursion,swift,Xcode,Recursion,Swift,递归函数目前在使用swift的xcode项目中会导致编译时错误,但在操场上可以正常工作。在Xcode 6 beta 4的发行说明中: 递归引用自身或其他对象的嵌套函数 嵌套在同一外部函数中的函数会使编译器崩溃。 (11266246)例如: func foo() {   func bar() { bar() }   func zim() { zang() }   func zang() { zim() } } 解决方法:将递归函数移到外部类型或模块 上下文 将递归函数移动到外部类型或模块上下文是

递归函数目前在使用swift的xcode项目中会导致编译时错误,但在操场上可以正常工作。在Xcode 6 beta 4的发行说明中:

递归引用自身或其他对象的嵌套函数 嵌套在同一外部函数中的函数会使编译器崩溃。 (11266246)例如:

func foo() {
  func bar() { bar() }
  func zim() { zang() }
  func zang() { zim() }
}
解决方法:将递归函数移到外部类型或模块 上下文


将递归函数移动到外部类型或模块上下文是什么意思?

这意味着您应该在其他函数之外声明该函数:

func bar() { bar() }
func zim() { zang() }
func zang() { zim() }
func foo() {
}

这是否意味着在viewDidLoad()中调用的递归函数应该在其外部声明?@Carpsen90这是正确的(至少在他们修复错误之前)