NSScanner: nil string argument报错调试方案

来源:互联网 发布:python处理excel文件 编辑:程序博客网 时间:2024/06/06 23:52

感觉更新到xcode6.2之后(不知道是不是错觉),xcode经常莫名其妙报错

NSScanner: nil string argument

这个错误不会给出错误定位,所以给调试带来了一定的困难。
首先,顾名思义,错误原因是我们在调用某个方法的时候,传入了一个空字符串(注意区别于字符串内容为空)作为方法参数。但是经过多次实际研究,报错原因包括但不仅限于上述原因。

调试的时候,尽量一次不要改太多代码,然后通过设置断点或者NSLog逐行打印,首先定位到错误位置,然后检查参数是不是其实是nil。这一点感觉Xcode不太厚道,说好的OC支持向空对象发送消息呢。。。。。

这里单独写一篇文章,用来记录可能出现这个错误的原因,希望看到此文的朋友能够把自己遇到错误的经验写在留言处,我统一汇总,方便更多的开发者查阅。

常见的可能的错误原因(持续更新ing。。。。)
1.对某一个空数组使用objectAtIndex方法。不会报数组越界的错,而是NSScanner: nil string argument。
eg:

//self.defaultInformationArray = nil;Patient *p = [self.defaultInformationArray objectAtIndex:0];
1 0
原创粉丝点击