2010-01-14 19 views
5

Ho una serie di NSTextFields su una finestra (etichettati 1-8) e mi chiedo se sia possibile accedere a ogni singolo campo di testo in modo programmatico tramite il numero di tag in modo da poter ottenere/impostare il suo valore?Come ottenere NSTextField per numero di tag?

Sono un principiante e mentre so come accedere a questi campi per nome, farlo per numero di tag renderà le cose molto più semplici per quello che sto cercando di ottenere in questa particolare istanza.

Grazie mille :-)

+0

“... So come accedere questi campi per nome ...” Vuoi dire attraverso le variabili di uscita. La maggior parte delle classi Cocoa (incluso NSTextField) non ti consente di nominare le loro istanze, e anche quelle che di solito non ti permettono di cercare un'istanza per nome. –

+0

corretto. Intendevo dire attraverso le loro variabili di uscita. – Bender

risposta

6
the_fourth_textview = [the_superview_containing_all_textfields viewWithTag:4]; 
+0

Grazie per la rapida risposta, Kenny :-) Purtroppo non sono ancora al passo con le sottoview e le interviste ecc. Quindi non ero in grado di tradurre correttamente lo pseudocodice sopra nel codice che funziona ... Ho provato: NSTextView * fieldToChange; fieldToChange = [[supersostenibilità] viewWithTag: 4]; ma questo è ovviamente sbagliato. A proposito, la finestra appartiene a una sottoclasse NSWindowController all'interno della mia app (NSObject) se ciò aiuta. – Bender

+1

Se non sai qual è la superview, basta mettere l'oggetto finestra lì. – kennytm

+0

Tutto risolto ora, Kenny! Apprezzo il tuo aiuto :-) – Bender