Pregunta

En primer lugar tengo que hacer esto sin IB y sin técnicas avanzadas de Objective-C como MVA.

Mi problema viene desde el simple hecho de que no puedo encontrar una manera de obtener todo el valor de cadena nueva del campo de texto.

Estoy intentado utilizar la función de delegado:

- (BOOL)textView:(NSTextView *)aTextView shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NSString *)replacementString

pero esto no me da sólo el no reemplazo de la cadena la cadena completa que necesito para su validación. Puedo utilizar más adelante texto

He encontrado

- (void)textDidChange:(NSNotification *)aNotification 
- (void)controlTextDidChange:(NSNotification *)aNotification

pero cuando llegue a esta situación requiere ya sea a última hora y el último contenido del campo de texto ya se ha ido. Entonces, ¿cuál es la mejor manera de manejar esto?

Y sí he leído NSTextField unión a NSNumber pero me da ninguna pista de cómo solucionar mi problema.

Toda la necesidad i es un simple "- (BOOL) acceptNewValue (cadena NSString)" pruebas de funcionamiento. ¿Por qué es todo tan complicado con cacao empieza a sentir como MFC.

¿Fue útil?

Solución

  

Estoy intentado utilizar la función de delegado:

¿Se refiere a la realización del procedimiento. El uso que significaría llamándolo, que es el trabajo de NSTextView, y es un método de Objective-C, no una función C.

- (BOOL)textView:(NSTextView *)aTextView shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NSString *)replacementString
     

pero esto no me da sólo el no reemplazo de la cadena la cadena completa que necesito para su validación.

Salvo que hace: Usted puede pedir a la vista de texto para la cadena completa anterior, aplicar el cambio a ti mismo a una copia mutable de esta cadena y, a continuación, validar la cadena resultante. NO retorno si el cambio se traduciría en una entrada no válida.

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