2012-06-15 4 views
0

나는 레이블에 제스처를 추가하고 탭 때 나는 그러나 I가 컴파일러 오류를 받고 있어요 인수로 INT 걸릴 것 showlbl을 실행하는 데 싶습니다제스처 선택에 대한 인수를 전달하는 방법을

UITapGestureRecognizer *gestlbl0 = [[UITapGestureRecognizer alloc] initWithTarget:self 
               action:@selector(showlbl:1) ]; 
덕분에

!

답변

1

그런 식으로 작동하지 않습니다. 선택기의 이름, 즉 호출 할 메서드의 이름 만 지정할 수 있습니다. 선택기의 양식 (인수의 수)은 조치 메소드를 호출하는 클래스 (이 경우, UITapGestureRecognizer)에 의해 고정되고 정의됩니다.

이 특정 조치 메소드의 경우, 조치 메소드에 대한 유일한 인수는 UIGestureRecognizer * 유형의 오브젝트입니다. 다른 변수에 접근 할 수있는 방법이 있다면 적절한 ivar/속성을 선언하고 거기에 값을 저장해야합니다.

+0

발신자 ID는 무엇인가요?이 경우 발신자를 검색 할 수 있습니까? 예를 들어 ID를 탭하여 레이블 태그를 확인 했습니까? 나는 ivar에 관한 당신의 솔루션을 이해하고 있는지 모르겠다. 어떤 라벨이 두드려 졌는지 어떻게 확인할 수 있는가? 나는 두드린 각 라벨에 하나의 메소드를 만드는 대신 하나의 장소에서 모든 라벨 탭을 처리하는 하나의 메소드를 선호한다. –

관련 문제