Jak ustawić tekst w NSTextField?


134

Próbuję ustawić tekst w NSTextField, ale metody -setStringValue:i -setTitleWithMnemonic:nie działają. Jakieś pomysły?


Czy Twój NSTextField jest wymieniony jako IBOutlet i poprawnie podłączony (jeśli używasz Interface Builder to znaczy ...)
jlindenbaum

Odpowiedzi:


229

setStringValue:jest sposób, aby to zrobić. Powinieneś upewnić się, że gniazdko jest prawidłowo ustawione. (W debugerze upewnij się, że zmienna textfield nie ma wartości null).


22
Sposób na zrobienie tego w Swift jest prosty stringValue, możesz ustawić dowolny ciąg znaków, który chcesz.
Christopher Spencer

43

Po prostu zrób coś takiego:

myLabel.stringValue = @"My Cool Text";

17

Po prostu myLabel.stringValue = "MY TEXT"działa tutaj, używając Swift i Xcode 6.


To dobra odpowiedź dla najnowszego środowiska deweloperskiego. Btw, dlaczego nie jest to częścią dokumentacji NSTextField? Poszedłem tam pierwszy i pomyślałem, że byłoby naprawdę oczywiste, jak to zrobić, ale go tam nie było ... EDYCJA: znalazłem go, po prostu nie ma go w oczywistym miejscu „Tematy”, ponieważ stringValue jest w rzeczywistości właściwość klasy nadrzędnej NSControl i pojawia się w "Overview"
wllychng

8

Szybki 4

self.yourTextField.stringValue = "Your_Value"

Uwaga: Pobieranie wartości z self.yourTextField.stringValue w tym przypadku spowoduje wyświetlenie komunikatu ostrzegawczego, tj. Wiadomość ostrzegawcza Aby uniknąć tego rodzaju ostrzeżenia, możesz użyć w ten sposób (sugerowany sposób)

DispatchQueue.main.async {
 your code ... 
} 

LUB też odnieś się do tego .


1

Jeśli wartość, którą próbujesz ustawić, jest liczbą całkowitą, a nie łańcuchem, nie musisz ręcznie konwertować wartości całkowitej na łańcuch; możesz po prostu zadzwonić:

myLabel.integerValue = i;

integerValueNieruchomość jest zdefiniowana w NSTextField„s klasy dominującej NSControl. Zobacz stronę z połączoną dokumentacją, aby uzyskać pełną listę obsługiwanych metod.


0

Cel C:

[label setStringValue: @"I am a label"];

oryginalny kod, którego używam w moim kodzie do wyświetlania wersji aplikacji to:

    [lblVersion setStringValue:[NSString stringWithFormat:@"v%@", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]]];

-3

po prostu zrób to

[textField setString:@"random"];

2
źle. W ten sposób konfigurujesz plik UITextField. Pytanie dotyczy Cocoa NSTextField, czyli innego zwierzęcia.
Duck,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.