2010-07-27 4 views
1

버튼 호출의 메소드를 설정하거나 objective-c에 이벤트 리스너를 추가 할 때, 일반적으로 타겟을 self로 설정합니다. 그러나 CALLS이라는 하위 클래스가 NSObject이며 주 파일과 구분되어 있습니다. 이 하위 클래스는 실행해야하는 METHOD_NAME이라는 void을 가지고 있습니다. 서브 클래스에서 (무효) METHOD_NAME -addEventListener 문의 타겟으로 NSObject의 서브 클래스

첫 번째 질문은 무효가 가 + (무효) METHOD_NAME

또는

이 될 것입니다.

다음은 의 대상을 NSObject의 하위 클래스를 사용하도록 설정하고 그 안에 메서드를 호출하는 방법입니다. 내가할까요

대상 : [CALLS class];

NSObject (호출)의 서브 클래스 인스턴스를 생성 한 다음 전달 하시겠습니까?

답변

2
  • "CALLS"및 "METHOD_NAME"은 클래스 및 메소드에 적합하지 않습니다. Objective-C 규칙을 따르십시오. 당신이 "nonono"이기 때문에 클래스를 NNEventListener과 같은 메소드와 buttonTapped과 같은 메소드라고 부를 수 있습니다.

  • 첫 번째 질문 : 실제로 중요하지 않습니다. 클래스 메소드 (+)와 인스턴스 메소드를 모두 사용할 수 있습니다. 그러나, 그렇지이 UI 이벤트를 청취 인스턴스 방법을 사용 매우 특이한 것, 그래서 대답은, -(void)buttonTapped

  • 두 번째 질문을 사용 : 나는 방법의 모두가 생각하지 않습니다 코코아는 addEventListener이라고합니다. 그것에 대해 어디에서 들었습니까? 웹 프레임 워크를 사용하여 이전에 앱을 만들었습니까?

는 버튼 (또는 다른 UIControl), 당신이, 당신이이 같은 특별한 @selector 지시어를 사용하여 호출 할 메서드에 대한 참조를 얻으려면 -addTarget:action:forControlEvents:를 사용하는 대상를 추가하려면

[aButton addTarget:anObject action:@selector(buttonTapped) forControlEvents:UIControlEventTouchUpInside]; 

aButton - 당신의 버튼을 anObject - 어떤 객체입니다. self은 메서드가 속한 개체입니다. 모든 객체를 전달할 수 있습니다. buttonTapped - 버튼을 누를 때 호출해야하는 메서드의 이름

+1

예를 들어, 나는 그 이름을 실제로 사용하지 않습니다. – 123hal321

+0

감사합니다. 이걸 시도해 보겠습니다. – 123hal321

+0

addEventListener는 라이브러리의 일부입니다. – 123hal321