2012-02-25 5 views
0

나는 왜 그 코드가 저를 위해 작동하지 않는지 알아낼 수 없습니다. ViewController.hUITextField bind

... 
@property (nonatomic, copy) UITextField *textField; 
... 

ViewController.m

-(void)viewDidLoad 
{ 

    [self.textField addTarget:self 
          action:@selector(textIsChanged:) 
          forControlEvents:UIControlEventEditingChanged]; 

} 

-(void)textIsChanged:(id)sender; 
{ 
    NSLog(@"Changed"); 
} 

내가 텍스트 필드 textIsChanged 방법에 뭔가를 입력

가 호출되지 않습니다.

+0

하나의 솔루션은 viewController에 UITextViewDelegate 프로토콜을 구현하는 것입니다 (그리고 textField의 위임자로 만듭니다). 하지만 먼저 시도해 볼 수 있습니다 - (void) textIsChanged : (id) sender; viewController의 인터페이스 (.h 파일) –

+0

속성은 '복사'가 아닌 '유지'여야한다고 생각합니다. –

답변

2

당신은이 같은 IBOutlettextField를 선언해야합니다

@property (nonatomic, retain) IBOutlet UITextField *textField; 

또는, 당신은 ARC (자동 참조 카운팅)를 사용하는 경우 :

@property (nonatomic, strong) IBOutlet UITextField *textField; 

및 인터페이스의 XIB 파일에서 바인딩 빌더.

+0

이미했으나 [UITextInputTraits addTarget : action : forControlEvents :] : 인식 할 수없는 선택기가 인스턴스로 전송되었습니다. 0x68f5ac0 – OhDoh

+3

나는 전문가가 아니야.하지만 너는 그 재산을'복사 '가 아닌'유지 '하겠는가? –

+0

@TomH - 나는 그것을 알아 차리지 못했다. 아마 답으로 게시해야합니다. 그것은 OP의 문제를 해결할 수 있습니다. – sch