2010-01-14 13 views
5

Mam kilka NSTextFields w oknie (otagowane 1-8) i zastanawiam się, czy można uzyskać dostęp do każdego pojedynczego pola tekstowego programowo jego tag numer, więc mogę następnie uzyskać/ustawić jego wartość?Uzyskiwanie NSTextField według numeru tagu?

Jestem początkujący i choć wiem, jak uzyskać dostęp do tych pól po imieniu, zrobienie tego za pomocą numeru znacznika sprawi, że rzeczy będą znacznie łatwiejsze do tego, co próbuję osiągnąć w tym konkretnym przypadku.

Thanks a lot :-)

+0

„... wiem, jak uzyskać dostęp do tych pól przez nazwę ...” To znaczy, za pośrednictwem zmiennych wylotowych. Większość klas Kakao (w tym NSTextField) nie pozwala na nadawanie im nazw instancji, a nawet te, które zazwyczaj nie pozwalają na wyszukiwanie instancji po nazwie. –

+0

Prawidłowo. Miałem na myśli poprzez ich zmienne wyjściowe. – Bender

Odpowiedz

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

Dziękuję za szybką odpowiedź, Kenny :-) Niestety nie mam jeszcze prędkości na subviewsach i super-opiniach itp., Więc nie udało mi się przetłumaczyć powyższego pseudokodu na kod, który działa ... Próbowałem: NSTextView * fieldToChange; fieldToChange = [[self superview] viewWithTag: 4]; ale jest to oczywiście błędne. Przy okazji, okno należy do podklasy NSWindowController w mojej aplikacji (NSObject), jeśli to pomaga. – Bender

+1

Jeśli nie wiesz, który jest superview, po prostu umieść tam obiekt okna. – kennytm

+0

Wszystko naprawione teraz Kenny! Doceń swoją pomoc :-) – Bender

Powiązane problemy