func printerFunction() -> (Int) -> () { var runningTotal = 0 func printInteger(number: Int) { runningTotal += 10 println("The running total is: \(runningTotal)") } return printInteger}
为什么调用func本身有错误,但是当我将func分配给常量时没有错误? printAndReturnIntegerFunc(2)将2 Int作为参数传递给返回值?
printerFunction(2) // errorlet printAndReturnIntegerFunc = printerFunction() printAndReturnIntegerFunc(2) // no error. where is this 2 going??解决方法 首先,你在这里得到错误printerFunction(2)因为printerFunction不能接受任何参数,如果你想给出一个参数,那么你可以这样做:
func printerFunction(abc: Int) -> (Int) -> (){}
这将工作正常:
printerFunction(2)
之后,您将该函数的引用提供给另一个变量,如下所示:
let printAndReturnIntegerFunc = printerFunction()
这意味着printAndReturnIntegerFunc的类型是这样的:
这意味着它接受一个Int,它将返回voID,所以这将工作:
printAndReturnIntegerFunc(2)总结
以上是内存溢出为你收集整理的ios – Swift Closure为什么调用函数返回错误?全部内容,希望文章能够帮你解决ios – Swift Closure为什么调用函数返回错误?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)