2013-10-16 2 views
0

키보드를 표시 할 때 버튼이있는 툴바를 표시하기 위해 서브 클래스로 UITextField을 사용했습니다.수퍼가 아닌 메소드를 오버라이드

UITextField 서브 클래스 사용자가 버튼을 가압하고 methodNameUITextField 내부 트리거

- (void)methodName 
{ 
    //Do stuff 
} 

.

나는 같은 방법은 내가에서 내부 methodName에서 내 방법을 topviewcontroller에 대한 참조를 얻고 트리거에 대해 생각 현재 ViewController

에 관련된 좀 더 구체적인 코드 추가에 대한 현재의 ViewController 내부도 트리거 할 UITextField subClass하지만 느낌이 옳지 않습니다.

위의 작업을 수행하는 올바른 방법은 무엇입니까?

답변

1

위임 패턴을 살펴 보겠습니다. 뷰 컨트롤러를 텍스트 필드의 대리자로 지정하면 텍스트 필드를 누를 때이를 알릴 수 있습니다. 뭔가 같은 :

textField.delegate = viewController; 

그리고 편집 할 때이 통지 있도록 뷰 컨트롤러 클래스는 적절한 UITextFieldDelegate 메소드를 구현해야 시작/끝.

+0

편집을 시작할 때 알림을 받고 싶지 않습니다. NSNotifications를 사용하지 않고'methodName'이 실행될 때 "알림"을 원합니다. – Segev

+0

그다지 큰 차이를 만들어서는 안됩니다. 원하는대로하는 메서드로 MyTextFieldDelegate 프로토콜을 만듭니다. 그런 다음 textField의 methodNameTriggered 메서드가 적절한 호출을 델리게이트에 보냅니다. –

+0

아, 알겠습니다. 고마워, 나는 그것을 시험해 볼 것이다. – Segev

관련 문제