iphone ios nsscanner

iphone - ¿Qué causa "NSScanner: argumento de cadena nula"?



ios (5)

Recibí este mensaje cuando guardo datos en datos centrales.

NSScanner: nil string argument

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

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

Gracias ayuda, por favor.


FWIW, recibí este mensaje mientras construía una aplicación de datos centrales.

Se debió a que reconstruí y ejecuté la aplicación en el simulador, lo que efectivamente detiene su proceso de ejecución sin pasar por ninguno de sus métodos de salida.

Dependiendo de cuándo y dónde esté guardando el contexto de su objeto administrado, podría quedarse con un objeto administrado incompleto en algún lugar, luego los escáneres que esperen encontrar valores no tendrían nada cuando la aplicación se relanzara y los objetos medio horneados se devolvieran de la tienda .


Me había encontrado con este problema en iOS 9 y iOS 10 PERO iOS 11 funciona bien, lo resolví eliminando el observador en dealloc donde había usado KVO.

Como:

- (void)dealloc { [self.collectionView removeObserver:self forKeyPath:@"contentSize"]; }


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 atrapa de esa manera, entonces interrumpa las otras formas en que podría crear un escáner, como +scannerWithString: Así es como vacié mi declaración de registro no deseado.


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


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

Esta es mi situación

  • Todo funciona bien en el dispositivo.
  • Crash at dequeueReusableCellWithIdentifier solo en el simulador

Lo resolví por

Producto-> Limpiar Luego reconstruir. Cada cosa funciona bien para mí. No estoy seguro de por qué sucedió esto.