@@ -165,12 +165,20 @@ extension Reactive where Base: MKMapView {
165165 // MARK: Responding to Annotation Views
166166
167167 public var didAddAnnotationViews : ControlEvent < [ MKAnnotationView ] > {
168+ let selector : Selector
169+ #if swift(>=5.7)
170+ selector = #selector(
171+ ( MKMapViewDelegate . mapView ( _: didAdd: ) )
172+ as ( MKMapViewDelegate ) -> ( ( MKMapView , [ MKAnnotationView ] ) -> Void ) ?
173+ )
174+ #else
175+ selector = #selector(
176+ ( MKMapViewDelegate . mapView ( _: didAdd: ) ) !
177+ as ( MKMapViewDelegate ) -> ( MKMapView , [ MKAnnotationView ] ) -> Void
178+ )
179+ #endif
168180 let source = delegate
169- . methodInvoked ( #selector(
170- ( MKMapViewDelegate . mapView ( _: didAdd: ) ) !
171- as ( MKMapViewDelegate ) -> ( MKMapView , [ MKAnnotationView ] ) -> Void
172- )
173- )
181+ . methodInvoked ( selector)
174182 . map { a in
175183 return try castOrThrow ( [ MKAnnotationView ] . self, a [ 1 ] )
176184 }
@@ -233,12 +241,21 @@ extension Reactive where Base: MKMapView {
233241 // MARK: Managing the Display of Overlays
234242
235243 public var didAddOverlayRenderers : ControlEvent < [ MKOverlayRenderer ] > {
244+
245+ let selector : Selector
246+ #if swift(>=5.7)
247+ selector = #selector(
248+ ( MKMapViewDelegate . mapView ( _: didAdd: ) )
249+ as ( MKMapViewDelegate ) -> ( ( MKMapView , [ MKOverlayRenderer ] ) -> Void ) ?
250+ )
251+ #else
252+ selector = #selector(
253+ ( MKMapViewDelegate . mapView ( _: didAdd: ) ) !
254+ as ( MKMapViewDelegate ) -> ( MKMapView , [ MKOverlayRenderer ] ) -> Void
255+ )
256+ #endif
236257 let source = delegate
237- . methodInvoked ( #selector(
238- ( MKMapViewDelegate . mapView ( _: didAdd: ) ) !
239- as ( MKMapViewDelegate ) -> ( MKMapView , [ MKOverlayRenderer ] ) -> Void
240- )
241- )
258+ . methodInvoked ( selector)
242259 . map { a in
243260 return try castOrThrow ( [ MKOverlayRenderer ] . self, a [ 1 ] )
244261 }
0 commit comments