ios – 将闭包作为函数的可选参数传递

ios – 将闭包作为函数的可选参数传递,第1张

概述我有一个函数,它接受两个参数,最后一个参数是一个回调闭包: func myAsycTask(name: String, callback: @escaping ()->Void) { myQueue.async{ self.doTask(name) callback() }} func doTask(name: String) {...} 我想使第二个回调 我有一个函数,它接受两个参数,最后一个参数是一个回调闭包:

func myAsycTask(name: String,callback: @escaPing ()->VoID) {   myQueue.async{      self.doTask(name)      callback()   }} func doTask(name: String) {...}

我想使第二个回调闭包参数可选.我试图将上面的函数重新定义为:

func myAsycTask(name: String,callback: @escaPing ()->VoID? = nil) {       myQueue.async{          self.doTask(name)          callback()       }}

我收到编译器错误:

Nil default argument value of cannot be converted to type ‘() ->

我怎样才能实现我所需要的呢?

解决方法 您当前的代码意味着VoID是闭包中的可选返回(这没有多大意义,因为VoID已经没有了).您应该将参数括在括号中,然后将其设置为可选.

func myAsycTask(name: String,callback: (() -> VoID)? = nil)
总结

以上是内存溢出为你收集整理的ios – 将闭包作为函数的可选参数传递全部内容,希望文章能够帮你解决ios – 将闭包作为函数的可选参数传递所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1067099.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存