¿Cómo se configura el texto en un NSTextField?

134

Estoy tratando de configurar el texto en un NSTextField, pero los métodos -setStringValue:y -setTitleWithMnemonic:no funcionan. ¿Algunas ideas?

Alexsander Akers
fuente
Es el NSTextField referenciado como un IBOutlet y colocado correctamente (si está utilizando Interfaz del generador que es ...)
jlindenbaum

Respuestas:

229

setStringValue:es la forma de hacerlo Debe asegurarse de que su toma de corriente esté configurada correctamente. (En el depurador, asegúrese de que su variable de campo de texto no sea nula).

Ken Aspeslagh
fuente
22
La forma de hacer esto en Swift es simplemente stringValue, luego puede establecerlo en la cadena que desee.
Christopher Spencer
43

Solo haz algo como esto:

myLabel.stringValue = @"My Cool Text";
Jim
fuente
17

Simplemente myLabel.stringValue = "MY TEXT"funciona aquí, usando Swift y Xcode 6.

Alejandro
fuente
Esta es una buena respuesta para el entorno de desarrollo más reciente. Por cierto, ¿no es esto parte de la documentación de NSTextField? Primero fui allí y pensé que sería muy obvio encontrar cómo hacer esto, pero no estaba allí ... EDITAR: Lo encontré, simplemente no está en el lugar obvio de "Temas", porque stringValue es en realidad un propiedad de la clase primaria NSControl, y aparece en "Descripción general"
wllychng
8

Swift 4

self.yourTextField.stringValue = "Your_Value"

Nota: Obteniendo el valor de self.yourTextField.stringValue obtendrá un mensaje de advertencia, es decir, Mensaje de advertencia para evitar este tipo de advertencia, puede usarlo de esta manera (forma sugerida)

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

O también se refieren a esto .

Maulik Rajani
fuente
1

Si el valor que intenta establecer es un entero en lugar de una cadena, no necesita convertir el valor entero en una cadena manualmente; solo puedes llamar:

myLabel.integerValue = i;

La integerValuepropiedad se define en NSTextFieldla clase principal de NSControl. Consulte la página de documentación vinculada para obtener una lista completa de los métodos que admite.

Jon Schneider
fuente
0

C objetivo:

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

El código original que uso en mi código para mostrar la versión de la aplicación es:

    [lblVersion setStringValue:[NSString stringWithFormat:@"v%@", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]]];
Alp Altunel
fuente
-3

solo haz esto

[textField setString:@"random"];
Joe Manto
fuente
2
incorrecto. Así es como configuras a UITextField. La pregunta es sobre Cocoa NSTextField que es un animal diferente.
Pato