我将数据保存到核心数据时收到此消息。
NSScanner: nil string argument
我没有使用任何NSScanner方法。它来自哪里?
这是一个错误吗?我该怎么办呢?
谢谢你的帮助。
答案 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
,解决了问题。