将数据保存到核心数据时收到此消息。
NSScanner: nil string argument
我没有使用任何 NSScanner 方法。它从哪里来的?
这是一个错误?我该怎么办?
谢谢帮忙,拜托。
根据经验,我可以说-[NSDecimalNumber initWithString:]
或+[NSDecimalNumber decimalNumberWithString:]
使用nil
字符串是导致该日志消息的一件事。
设置断点-[NSScanner initWithString:]
开始;如果您没有以这种方式捕捉到它,那么请打破您可能创建扫描仪的其他方式,例如+scannerWithString:
and -[NSConcreteScanner initWithString:]
。这就是我清除不需要的日志语句的方式。
FWIW,我在构建核心数据应用程序时收到了这条消息。
这是由于我在模拟器中重建和运行应用程序,它有效地杀死了你正在运行的进程,而无需通过任何退出方法。
根据您保存托管对象上下文的时间/位置,您可能会在某处留下不完整的托管对象,然后当应用程序重新启动并且半成品对象从商店返回时,期望找到值的扫描仪将一无所有.
我有相同的崩溃日志NSScanner: nil string argument
。
这是我的情况
dequeueReusableCellWithIdentifier
仅在模拟器上崩溃我解决了
产品->清洁然后重建。一切对我来说都很好。我不知道为什么会这样。
我在 iOS 9 和 iOS 10 上遇到了这个问题,但 iOS 11 工作正常,我通过dealloc
在我使用 KVO 的地方删除观察者来解决它。
如:
- (void)dealloc {
[self.collectionView removeObserver:self forKeyPath:@"contentSize"];
}
我收到此崩溃错误,但与nil string
问题无关。我的原因是我在情节提要中使用了一个动态单元格,但Static Cells
在属性检查器中进行了设置。我将该属性更改为Dynamic Prototypes
,解决了问题。