ios – Swift Closure为什么调用函数返回错误?

ios – Swift Closure为什么调用函数返回错误?,第1张

概述只是学习闭包和嵌套功能.鉴于下面的嵌套函数: func printerFunction() -> (Int) -> () { var runningTotal = 0 func printInteger(number: Int) { runningTotal += 10 println("The running total is: \(running 只是学习闭包和嵌套功能.鉴于下面的嵌套函数:

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的类型是这样的:

这意味着它接受一个I​​nt,它将返回voID,所以这将工作:

printAndReturnIntegerFunc(2)
总结

以上是内存溢出为你收集整理的ios – Swift Closure为什么调用函数返回错误?全部内容,希望文章能够帮你解决ios – Swift Closure为什么调用函数返回错误?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1008040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存