2010-02-28 3 views
5

iPhone 용으로 개발했을 때 버튼 하나만 있으면 여러 번의 터치 이벤트가있었습니다. (예 : 편집이 변경되었거나 편집이 끝났습니다 ...)NSTextField에 대해 '편집이 변경되었습니다'와 같은 이벤트가 없습니까?

이제 Mac OSX 용으로 개발하여 응용 프로그램에서 NSTextField의 여러 이벤트를 인식하도록하십시오.

어떻게 수행하나요? 이벤트를위한 대안이 있습니까?

감사합니다.

EDIT : 대표자가 중요할까요?

답변

24

NSTextField의 대리인으로 개체를 설정해야합니다. NSTextFieldNSControl의 하위 클래스이므로 구현하면 개체에 -controlTextDidChange: 메서드가 호출됩니다.

@interface MyObject : NSObject 
{ 
    IBOutlet NSTextField* textField; 
} 
@end 

@implementation MyObject 
- (void)awakeFromNib 
{ 
    [textField setDelegate:self]; 
} 

- (void)controlTextDidChange:(NSNotification *)notification 
{ 
    if([notification object] == textField) 
    { 
     NSLog(@"The contents of the text field changed"); 
    } 
} 
@end 
관련 문제