NSScanner: nil string argument报错调试方案

感觉更新到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];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值