¿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?


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).


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";

17

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


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 .


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.


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"]]];

-3

solo haz esto

[textField setString:@"random"];

2
incorrecto. Así es como configuras a UITextField. La pregunta es sobre Cocoa NSTextField que es un animal diferente.
Pato
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.