0
我有一個協議使用7.3
protocol AnnotationTapDelegate: AnyObject {
/* Delegate to identify the tap on Annotation view */
func didTapAnnotation(sender: UITapGestureRecognizer)
}
和一類
class CustomAnnotationView: MKAnnotationView {
func setTapDelegate(delegate: AnnotationTapDelegate!) {
let tapGesture = UITapGestureRecognizer(target: delegate, action: #selector(AnnotationTapDelegate.didTapAnnotation(_:))) <== Error
self.addGestureRecognizer(tapGesture)
}
}
這給了我編譯錯誤說「的‘#selector’參數指的是一種方法,在Objective-C中沒有公開「,並給出了」添加'@ obj-c'以將其公開給Objective-C「的建議。在添加'@ obj-c'之後,我也得到相同的錯誤,並再次添加'@ obj-c'。問題沒有解決。
我在Xcode 7.3.1中工作。
前,我才
let tapGesture = UITapGestureRecognizer(target: delegate, action: "didTapAnnotation:")
這是工作的罰款。更新我的Xcode到7.3.1之後,我正面臨着這個問題。
如何將我的協議的功能設置爲選擇器?
謝謝!有用。 – iOS
歡迎您:) –
其實'@ obj-c'被添加到func中。將其添加到協議工作。 – iOS