【发布时间】:2014-07-29 12:21:56
【问题描述】:
我正在使用这个功能
func countFrom(from:Int, #to:Int) -> () {
println("\(from)")
if from < to {
countFrom(from + 1, to: to)
}
}
countFrom(1, to: 10)
}
但在编译时我得到 Swift 编译器错误 -
命令 /Applications/Xcode6-Beta2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift 失败,退出代码为 1
如果我删除了“countFrom(from + 1, to: to)”,那么就不会再有错误了。这有什么问题?
【问题讨论】:
-
应该是self.countFrom...?
-
这是 Xcode 6 beta 4 中的一个已知问题——递归的嵌套函数会使编译器崩溃。他们在发行说明中提到它,并说解决方法是“将递归函数移动到外部类型或模块上下文”。
-
"Command /Applications/Xcode6-Beta2.app/Contents/..." 好吧,对于初学者,我会在问太多问题之前升级到最新的测试版关于奇怪的行为。
标签: swift ios8 swift-playground