Benvenuto Visitatore ( Log In | Registrati )
![]() ![]() |
28 Mar 2008, 12:36
Messaggio
#1
|
|
|
Level 1/11 ![]() Gruppo: Forum User Messaggi: 3 Iscritto il: 28-March 08 Utente Nr.: 10.043 |
Ciao a tutti. Sono nuova, del forum e di Obj-C/Cocoa.
Sto cercando di comprendere dal nulla il modo in cui funziona questo nuovo mondo.... e quindi.... Ho un NSTextField, un NSButton e vorrei solo riuscire ad intercettare l'evento textDidChange: generato da NSTextField per attivare il NSButton solo se il suddetto campo di testo non è vuoto. Mi serve solo per capire come fare l'handling degli eventi ma non ho molto chiaro il concetto. Ho letto con attenzione la risposta del mitico Germinara ad un utente con un problema simile (http://forum.tevac.com/cocoa-delegati-nstextfield-t57128.html) ma vorrei solo capire come fare l'handling degli eventi degli oggetti. posto il codice del controller: CODE #import <Cocoa/Cocoa.h> @interface Controller :NSObject { IBOutlet id testo; IBOutlet id button; } - (IBAction)bottone:(id)sender; @end CODE #import "Controller.h" @implementation Controller -(void)awakeFromNib{ [button setEnabled:NO]; NSLog (@"Il log funziona..."); } - (IBAction)bottone:(id)sender { //Il bottone è stato premuto } -(IBAction) textDidChange:(NSNotification *)aNotification { NSLog (@"Catturato evento textDidChange!"); // FAI QUALCOSA BASTARDO !!! } @end Grazie a tutti per il vostro aiuto, e scusate se sono un po tonta!!! |
|
|
|
|
|
|
28 Mar 2008, 14:34
Messaggio
#2
|
|
|
Il metodo - (void)textDidChange:(NSNotification *aNotification) non serve per intercettare una modifica avvenuta al testo del NSTextField, ma per informare chi ne fosse interessato che detta modifica è avvenuta. In altre parole, devi già sapere che la modifica è avvenuta, e con questo metodo rendi la cosa di pubblico dominio. Infatti, in genere non sei tu a chiamare questo metodo, ma è direttamente Cocoa. La notifica che questo metodo solleva è NSControlTextDidChangeNotification. Per venirne informata, devi registrarti presso l'NSNotificationCenter, dichiarare il tuo Controller interessato a NSControlTextDidChangeNotification, e dichiarare un metodo opportunamente formattato che viene invocato dal sistema quando questa notifica viene ricevuta.
Il tutto si inquadra nel meccanismo generale delle notifiche, su cui puoi trovare informazioni varie anche su questo forum, ad esempio: -------------------- Marco Coïsson
http://homepage.mac.com/marco_coisson L'atomo divisibile: podcast gratuito di divulgazione scientifica. X come Macintosh |
|
|
|
|
![]() ![]() |
| Titolo discussione | Risposte | Autore discussione | Visite | Ultima azione | |||
|---|---|---|---|---|---|---|---|
![]() |
4 | nicolò | 53 | 18 November 2008 - 18:00 Ultimo messaggio di: nicolò |
|||
![]() |
8 | pulce15 | 100 | 13 November 2008 - 16:32 Ultimo messaggio di: chebfarid |
|||
![]() |
4 | marco71 | 96 | 10 November 2008 - 11:08 Ultimo messaggio di: saurospagnol |
|||
![]() |
7 | ilredelsilenzio | 239 | 2 October 2008 - 12:01 Ultimo messaggio di: Lullaby71 |
|||
![]() |
1 | marco71 | 107 | 20 September 2008 - 17:39 Ultimo messaggio di: Martini |
|||
![]() |
12 | Danilo | 273 | 19 September 2008 - 15:29 Ultimo messaggio di: Il Dahu |
|||
![]() |
7 | Giaco__f | 202 | 21 August 2008 - 21:43 Ultimo messaggio di: [Daitarn] |
|||
![]() |
7 | danymac | 203 | 2 August 2008 - 12:21 Ultimo messaggio di: danymac |
|||
![]() |
0 | nickXXX | 144 | 28 July 2008 - 13:03 Ultimo messaggio di: nickXXX |
|||
![]() |
7 | gulla | 209 | 22 July 2008 - 15:13 Ultimo messaggio di: blueknight |
|||
![]() |
6 | nickXXX | 141 | 2 July 2008 - 13:43 Ultimo messaggio di: nickXXX |
|||
![]() |
8 | MORGANA | 137 | 30 June 2008 - 21:36 Ultimo messaggio di: Biba |
|||
|
Versione Lo-Fi | Oggi è il: 22 November 2008 - 20:48 |
| IP.Board Skin Developed By Creative Networks | ||