2016-12-12 3 views
1

Xcode에서 제스처 인식기를 만들어 MKMapView를 탭하고 일부 동작을 수행 할 수 있습니다. 그러나지도를 길게 누를 때마다 "인스턴스로 전송 된 인식 할 수없는 선택기"가 표시됩니다. 여기스위프트 : 제스처 인식기 알 수없는 셀렉터를 인스턴스로 보냄

가있는 viewDidLoad 내 코드입니다 :

let gestureRecognizer = UILongPressGestureRecognizer(target: self, action: "handleTap:"); 
self.mapViewPlace.addGestureRecognizer(gestureRecognizer); 

그리고 여기에 기능은 나중에입니다 :

func handleTap(gestureReconizer: UILongPressGestureRecognizer) { 

} 

어떤 아이디어?

+0

오류의 전체 설명을 추가하십시오. 오류는 대개 무엇이 잘못되었는지 알려주고, 그것이 무엇인지 알려줍니다. – Frankie

+0

액션을 변경하십시오 : "handleTap"to action : @selector ("handleTap" –

+0

Neo is close - #selector가 아닌 @selector – dfd

답변

3

네오 크레디트를주십시오. 구문을 다음과 같이 변경해야합니다.

let gestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(handleTap) 

사이드 노트 : Swift의 경우 세미콜론이 필요하지 않으므로 코드 줄을 끝내십시오.

+0

이 문제를 해결했습니다. 감사합니다! 어떤 이유로 Swift의 최신 버전에서이 작업을 수행하는 방법에 대한 지침을 찾을 수 없었습니다. Neo에게 도움을 주셔서 감사합니다. –