2011-08-17 12 views
27

Recibí este mensaje cuando guardo datos en los datos centrales.¿Qué causa "NSScanner: nil string argument"?

NSScanner: nil string argument 

No usé ningún método de NSScanner. ¿De dónde vino?

¿Esto es un error? ¿Que debo hacer con eso?

Gracias, ayuda, por favor.

+0

ponga algunos puntos de freno y algunos registros en toda su fecha para ver qué objeto es nulo –

+0

THX. Encontré que guardo el valor de un archivo de texto que había eliminado en IB. – Jimi

Respuesta

34

Por experiencia, puedo decir que -[NSDecimalNumber initWithString:] con una cadena nil es una cosa que causa ese mensaje de registro.

Establezca un punto de interrupción en -[NSScanner initWithString:] para comenzar; Si no lo entiende de esa manera, interrumpa las otras formas en que puede crear un escáner, como +scannerWithString:. Así es como hice sonar mi declaración de registro no deseado.

+1

Jep, tuve el problema, tratando de crear un 'NSDecimalNumber' con una cadena nula registrará esta advertencia. – Pascal

+1

Si su uso de NSLog es escaso, también puede interrumpir 'NSLog', que se utiliza para generar el mensaje de error. –

+0

esto es sorprendentemente correcto :) – neelabh

5

FWIW, tuve este mensaje al crear una aplicación de datos básicos.

Fue gracias a mí la reconstrucción y ejecución de la aplicación en el simulador, lo que efectivamente elimina el proceso de ejecución sin tener que pasar por ninguno de sus métodos de salida.

Dependiendo de cuándo y dónde esté guardando el contexto de su objeto gestionado, podría quedarse con un objeto administrado incompleto en alguna parte, entonces los escáneres que esperarían encontrar valores no tendrían nada cuando la aplicación se relanzara y los objetos medio cocidos regresó de la tienda.

-1

Recibí este error pero no sobre el problema nil string. Mi razón es que utilizo una celda en el guión gráfico como dinámica, pero configuré Static Cells en el inspector de atributos. Cambié ese atributo a Dynamic Prototypes, resolví el problema.

0

Tengo el mismo registro de bloqueo NSScanner: nil string argument.

Esta es mi sitution

  • Todo funciona bien en el dispositivo.
  • choque en dequeueReusableCellWithIdentifier sólo en simulador

Lo resuelto por

Producto-> Limpio Entonces lo rebuild.Every funciona bien para mí. No estoy seguro de por qué sucedió esto.