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

时间:2014-08-04 01:35:49

标签: xcode recursion swift

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

  

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

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

解决方法:将递归函数移动到外部类型或模块   上下文

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

1 个答案:

答案 0 :(得分:1)

这意味着您应该在另一个函数之外声明该函数:

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