这是我的代码:
func test(){ func inner(val : Int) { println("\(val)") if val > 0 { inner(val - 1) } } inner(3)}
编译器记录are here
解决方法 有趣的…它似乎也许在尝试在定义之前捕获到内部的引用时,它是bailing?以下修复它为我们:
func test() { var inner: (Int) -> () = { _ in } // give it a no-op deFinition inner = { val in println("\(val)") if val > 0 { inner(val - 1) } } inner(3)}
当然没有嵌套,我们根本没有任何问题,例如以下工作完全如预期:
func test(val: Int) { println("\(val)") if val > 0 { test(val - 1) }}test(3)
我会说:报告!
总结以上是内存溢出为你收集整理的ios – 嵌套递归函数全部内容,希望文章能够帮你解决ios – 嵌套递归函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)