闭包参数由swift中嵌套闭包内的位置引用

Max*_*eev 10 closures ios swift

我有这段代码可以正常工作:

var discoverEvents = events.map { event in
   userEvents.find { $0.eventID == event.eventID } ?? event
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方式可以event通过find某种方式在内部引用:

var discoverEvents = events.map { userEvents.find { $$0.eventID == $0.eventID } ?? $0 }
Run Code Online (Sandbox Code Playgroud)

使它成为单线?

phu*_*phu 6

不,这是不可能的.内部$0阴影是外部阴影,没有其他方式可以引用$0外部范围.

正如@DavidBerry所提到的,该语法适用于简短的匿名函数.否则事情会变得非常混乱.