无法将方法标记为@objc,因为无法在Objective-C中表示参数3的类型

时间:2019-05-17 07:47:55

标签: ios swift swift4.2 xcode10.1

我该如何解决?有人可以帮助我吗?谢谢!

我正在使用Xcode 10.1,快速4.2

@objc func searchVenues(_ coordinate: CLLocationCoordinate2D,radius: Float = 10000.0, completion: @escaping (Result<[XPVenue],Error>) -> Void) {
   // ...
}

该方法无法标记为@objc,因为参数3的类型无法在Objective-C中表示

1 个答案:

答案 0 :(得分:0)

请参阅以下代码,以这种方式使用选择器方法#selector(searchVenues(_:radius:completion:))

button.addTarget(self, action: #selector(searchVenues(_:radius:completion:)), for: .touchUpInside)

@objc func searchVenues(_ coordinate: CLLocationCoordinate2D,radius: Float = 10000.0, completion: @escaping (Result<[XPVenue],Error>) -> Void) {
   // ...
}