在swift中嵌套闭包中的位置引用闭包参数
我有这段代码工作正常:
var discoverEvents = events.map { event in
userEvents.find { $0.eventID == event.eventID } ?? event
}
我想知道是否有任何方法find
某种方式引用event
:
var discoverEvents = events.map { userEvents.find { $$0.eventID == $0.eventID } ?? $0 }
使其成为一线?
不,这是不可能的。 内部$0
影响外部范围,并且没有其他方式可以引用外部范围中的$0
。
正如@DavidBerry所提到的那样,这种语法只适用于简短的匿名函数。 否则事情会变得非常混乱。
链接地址: http://www.djcxy.com/p/31785.html上一篇: Closure arguments referenced by position inside nested closure in swift