2010-02-28 13 views
5

Cuando desarrollé para el iPhone tuve varios eventos al tacto que podrían ser ciertos para un botón. (Por ejemplo, la edición sí cambió, la edición terminó ...)¿No hubo eventos como 'Editing did Change' para un NSTextField?

Ahora que desarrollo para Mac OSX, quiero que mi aplicación reconozca múltiples eventos en un NSTextField.

¿Cómo hacer eso? ¿Hay una alternativa para los eventos?

Gracias!

EDITAR: ¿Pueden los delegados ser la clave?

Respuesta

24

Debe establecer un objeto como el delegado de su NSTextField. Como NSTextField es una subclase de NSControl, llamará al método -controlTextDidChange: en su objeto si lo implementa.

@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