Tengo un NSTextField
en el que necesito que el usuario ingrese un número entre un máximo y un mínimo, y sería bueno si pudiera detectar cuándo el NSNumberFormatter
falla esa prueba en particular, así puedo mostrar un mensaje más agradable ("El número es demasiado grande" no es muy útil, necesita mostrar el rango válido) o simplemente establecer el campo automáticamente al valor válido más cercano.Comportamiento de falla NSNumberFormatter más específico
He mirado en el método de NSTextField
delegado ‑control:didFailToFormatString:errorDescription:
que no parece que permitirá modificar el error, y yo he mirado anulando el NSNumberFormatter
's ‑getObjectValue:forString:range:error:
método que me hace dar una NSError
que pueda modificar , pero no parece haber ninguna forma de determinar qué error específico se devolvió.
Dado que acabo de ingresar un número entero simple, no necesito la mayoría de las funciones en NSNumberFormatter
, ¿sería mejor que escribiera mi propio formateador desde cero?
Gracias, pero NSFormattingErrorMinimum/Maximum solo significa que son el inicio y el final de los códigos de error de formateo. El código de error devuelto es 2048 sin importar cuál es el error de formato que parece. –