标签:
今天测试app时发现一个必现的异常,当在登录成功后再打开登录前点击的页面时,就会在Xcode console中打印如下日志:
NSScanner:nil string argument
NSScanner:nil string argument
libc++abi.dylib: terminate_handler unexpectedly threw an exception
然后app就会crash掉。
搜索了一下相关资料,得知出现NSScanner: nil string argument问题都是跟字符串有关,一般认为是intWithString:的参数传入了nil就会出现这个问题。但是项目的代码中并没有几处intWithString:的地方,逐一加断点都排除了出问题的可能。
然后我单步调试,发现问题可能出在这几行代码:
NSDictionary *para=nil;
para=@{@"userid":[Configs getInstance].me.uid, @"flag":@"1" };
那么最有问题的可能在这里:[Configs getInstance].me.uid,会不会在它为nil时出现上面的crash问题呢?经过验证,在出现crash之前这个uid值果然为nil,又是前人留下的坑……对代码进行了一些调整,此问题解决。
参考:
UITableView删除的时候崩溃NSScanner:nil string argument
xcode 5的调试输出区域 不断输出NSScanner: nil string argument
libc++abi.dylib: terminate_handler unexpectedly错误
标签:
原文地址:http://my.oschina.net/ioslighter/blog/384328