[英]Closure in Swift?
因此,我正在阅读一些代码,并从我的理解和一些谷歌搜索中看到了尾随闭包,当您将最终参数作为闭包时,似乎使用了尾随闭包,因此您可以将其作为尾随闭包进行传递。
这就是让我困惑的地方。 我有一个类A和一个类B。类B继承自类A。在类A中,有一个函数C看起来像这样:
func C(text1: String, text2: String) -> SomeOddType{...}
现在在B类中,它重写了此功能,但主体如下所示:
override func C(text1: String, text2:String) -> SomeOddType{
if let someVar = super.C(text:text1, text:text2){
//some code that's not in the super method
return someVar
}
}
那是做什么的? 我感到很困惑。 它没有闭包作为参数,并且由于它已经在调用super方法,所以覆盖版本中的代码是实现的附加组件吗?
这里没有结尾的闭包,它只是if
语句的块。 表达式super.C(text: text1, text: text2)
有条件地绑定到新常量someVar
。 如果条件绑定成功,它将运行“ //某些不在超级方法中的代码”代码块。
super.C(text:text1, text:text2)
返回SomeOddType
,但是它应该是可选的。 它分配给someVar
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.