【发布时间】:2019-05-17 07:47:54
【问题描述】:
我该如何解决这个问题?任何人都可以帮助我吗?谢谢!
我使用的是 Xcode 10.1,swift 4.2
@objc func searchVenues(_ coordinate: CLLocationCoordinate2D,radius: Float = 10000.0, completion: @escaping (Result<[XPVenue],Error>) -> Void) {
// ...
}
方法不能标记@objc,因为参数3的类型不能在Objective-C中表示
【问题讨论】:
-
将
Result类型也标记为@objc.. -
重构你的代码,这样你就不必将它标记为@objc了?
-
你真的需要
@objc吗? -
如果你编写一个没有完成处理程序的包装方法并将其标记为@objc(这就是我所说的重构)并将其用作你的选择器呢?
-
类型
Result在 Objective-C 中不可用。如果你想在 ObjC 中使用它,你需要重新设计你的方法。
标签: ios swift swift4.2 xcode10.1