Pregunta

Así que tengo todo el código que he depurado y parece estar bien. Hice una cadena mutable y por alguna razón no puedo conseguir que se muestre en mi sello. el depurador dice

"2010-04-22 22: 50: 26.126 Fibonacci [24836: 10b] *** - [NSTextField setString:]: selector no reconocido enviado a la instancia 0x130150"

¿Qué hay de malo en esto? Cuando acabo de enviar la cadena a NSLog, que salga bien.

Esto es todo mi código, cualquier ayuda se agradece. "ElementNum" es un cuadro combinado y "pantalla" es una etiqueta. Gracias

 #import "Controller.h"

@implementation Controller

- (IBAction)computeNumber:(id)sender {
 int x = 1;
 int y = 1;
 NSMutableString *numbers = [[NSMutableString alloc] init];
 [numbers setString:@"1, 1,"];
 int num = [[elementNum objectValueOfSelectedItem]intValue];
 int count = 1;
 while (count<=num) {
  int z = y;
  y+=x;
  x=z;
  [numbers appendString:[NSString stringWithFormat:@" %d,", y]];
  count++;
 }
 [display setString:numbers];
 NSLog(numbers);
}
@end


`
¿Fue útil?

Solución

Mira el mensaje de error que está recibiendo:

-[NSTextField setString:]: unrecognized selector sent to instance 0x130150"

Esto le está diciendo algo. Específicamente, que NSTextField no tiene un método -setString: y tratando de llamar se producirá un error.

Esta es su señal para vistazo a la documentación para NSTextField. Al hacerlo, se verá que no hay métodos para establecer el valor de cadena. Sin embargo, los documentos también muestran que hereda NSTextField de NSControl, que tiene un método -setStringValue:.

Por lo tanto, es necesario llamar a -setStringValue: para establecer el valor de un NSTextField.

[display setStringValue:numbers];

Tenga en cuenta que en el código en la actualidad, se filtra la del objeto de cadena numbers. Lo creó utilizando -alloc, por lo que es responsable de la liberación de la misma.

En su lugar, debe crearlo utilizando [NSMutableString stringWithString:@"1, 1,"], que devolverá un objeto autoreleased, así como la inicialización en el mismo mensaje.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top