29

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

NSScanner: nil string argument

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

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

谢谢帮忙,拜托。

4

5 回答 5

38

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

设置断点-[NSScanner initWithString:]开始;如果您没有以这种方式捕捉到它,那么请打破您可能创建扫描仪的其他方式,例如+scannerWithString:and -[NSConcreteScanner initWithString:]。这就是我清除不需要的日志语句的方式。

于 2011-09-01T03:17:09.017 回答
5

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

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

根据您保存托管对象上下文的时间/位置,您可能会在某处留下不完整的托管对象,然后当应用程序重新启动并且半成品对象从商店返回时,期望找到值的扫描仪将一无所有.

于 2011-09-01T08:06:20.430 回答
0

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

这是我的情况

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

我解决了

产品->清洁然后重建。一切对我来说都很好。我不知道为什么会这样。

于 2015-07-31T06:59:28.587 回答
0

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

如:

- (void)dealloc {
[self.collectionView removeObserver:self forKeyPath:@"contentSize"];
}
于 2018-05-09T07:47:47.577 回答
-2

我收到此崩溃错误,但与nil string问题无关。我的原因是我在情节提要中使用了一个动态单元格,但Static Cells在属性检查器中进行了设置。我将该属性更改为Dynamic Prototypes,解决了问题。

于 2014-10-16T08:52:43.407 回答