是什么导致“NSScanner:nil字符串参数”?

时间:2011-08-17 15:14:13

标签: iphone ios nsscanner

我将数据保存到核心数据时收到此消息。

NSScanner: nil string argument

我没有使用任何NSScanner方法。它来自哪里?

这是一个错误吗?我该怎么办呢?

谢谢你的帮助。

5 个答案:

答案 0 :(得分:35)

根据经验,我可以说-[NSDecimalNumber initWithString:]带有nil字符串是导致该日志消息的一件事。

-[NSScanner initWithString:]上设置断点以开始;如果你没有那样抓住它,那么就打破你可能创建扫描仪的其他方式,比如+scannerWithString:。这就是我刷掉我不想要的日志声明的方式。

答案 1 :(得分:5)

FWIW,我在构建核心数据应用程序时发出了这条消息。

这是由于我在模拟器中重建和运行应用程序,这有效地杀死了您的运行过程,而无需通过任何退出方法。

根据您保存托管对象上下文的时间/位置,您可能会在某处留下不完整的托管对象,然后在重新启动应用程序并返回半烘焙对象时,期望查找值的扫描程序将没有任何内容从商店。

答案 2 :(得分:0)

我有相同的崩溃日志NSScanner: nil string argument

这是我的情况

  • 设备上的一切正常。
  • 仅在模拟器上dequeueReusableCellWithIdentifier崩溃

我通过

解决了这个问题

产品 - >清洁然后重建。每件事都适合我。我不确定为什么会这样。

答案 3 :(得分:0)

我在iOS 9和iOS 10上遇到过这个问题但是iOS 11工作正常,我通过删除我使用过KVO的dealloc中的观察者解决了这个问题。

如:

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

答案 4 :(得分:-2)

我遇到了此崩溃错误但未解决nil string问题。 我的理由是我在故事板中使用单元格作为动态,但在“属性”检查器中设置Static Cells。我将该属性更改为Dynamic Prototypes,解决了问题。