*参考: http://www.ithao123.cn/content-8030945.html

*参考: http://www.cnblogs.com/ziyi--caolu/p/4825633.html

在我们运行项目的时候,有时会莫名其妙的程序崩溃,查看原因,发现空字符串报错,如下所示:

NSScanner: nil string argument

NSScanner: nil string argument

libc++abi.dylib: terminate_handler unexpectedly threw an exception

这一般都是空字符串错误,你打一下全局断点,锁定报错的位置,然后仔细检查下。从参考的文档中,无非有以下几种错误,而我的错误就在其中,如果遇见了,可以从以下方法查找一下:

1.对某一个空数组使用[array objectAtIndex: i ]方法,会出现这个错,而不是报数组越界的错误;

2.把一个NSArray、NSDictionary对象赋值给一个NSMutableArray、NSMutableDictionary对象,然后对该对象进行了delete、add、set等修改操作,也可能报这个错;

3.使用storyBoardnib或者Xib搭建界面时,代码中没有相应控件,但sbnib中已对该控件连接(关联了一次,但是发现问题,删除关联,重新定义属性-----可能并没有完全删除),也同样报这个错,且多数出现在页面跳转的时候,这时候要点开xb仔细检查,是否存在警告什么的东西:

但是有时候连警告可能都不会有,要仔细找,这个错其实挺烦的,所以要随时将不要连接的线去掉(storyboardnib、XIB 与 代码要同步控件变量)。

而我就是遇见过第二和第三种情况,我在别人的文章中还看到说,当你集成第三方、友盟、定位等也会遇到这个错粗,但是我没遇到。。。。

4. 在UITableView中使用reuseIdentifier,有误的id也会导致这个错;

5.使用第三方框架的时候也会出现这种问题,常见的就是刷新控件之间的不兼容。

这些就是我看到的这种错误的原因,你如果遇到这个,可以先按着这个思路查看一下,锁定住错误原因,这样也就能快速的找到解决方法了。

iOS中空字符串报错的更多相关文章

  1. ESL python调用C模块时传递unicode字符串报错问题解决

    在是用freeswitch时利用ESL的python调用时传递字符串报错 TypeError: in method 'ESLconnection_api', argument 2 of type 'c ...

  2. iOS解析JSON字符串报错Error Domain=NSCocoaErrorDomain Code=3840 "Invalid escape sequence around character 586."

    将服务器返回的JSON string转化成字典时报错: Error Domain=NSCocoaErrorDomain Code=3840 "Invalid escape sequence ...

  3. python 字符串报错问题

    http://jingyan.baidu.com/article/25648fc1a96dd49191fd00c0.html 解决'ascii' codec can't encode characte ...

  4. 在 VSCode 中 Angular 的字符串报错的问题

    使用 Angular 时,报错 [tslint] " should be ' 报错原因是因为 ESLint 的严格模式,限制了使用 ' ,甚至多一个空格都会报错. 我们只需要在 settin ...

  5. C# string.Format json格式字符串报错”输入字符串的格式不正确“

    当我们在string.Format中传入Json字符串时,会报”输入字符串的格式不正确“,这是因为json的"{"符号的问题,最开始我是想着用转义一下"{",但 ...

  6. 【转】 IOS开发xcode报错之has been modified since the precompiled header was built

    本文转载自  IOS开发xcode报错之has been modified since the precompiled header was built 其实我是升级xcode到4.6.3的时候遇到的 ...

  7. IOS开发 xcode报错之has been modified since the precompiled header was built

    转载的文章  很实用 IOS开发xcode报错之has been modified since the precompiled header was built 今天做百度地图的时候第一次发现下面错误 ...

  8. javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决

    javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决 在做移动端时间转化为时间戳时,遇到了一个问题,安卓手机上访问时,能拿到时间戳,从而正确转换时间,而在i ...

  9. IOS 空字符串报错 解决办法

    NSScanner: nil string argument  NSScanner: nil string argument libc++abi.dylib: terminate_handler un ...

随机推荐

  1. Mono 3.2.7发布,JIT和GC进一步改进

    Mono 3.2.7已经发布,带来了很多新特性,如改进的JIT.新的面向LINQ的解释器以及使用了64位原生指令等等. 这是一次主要特性发布,累积了大约5个月的开发工作.看上去大部分改进都是底层的性能 ...

  2. 让 asp.net 在 mac 上飞

    .NET 不跨平台一直饱受争议,虽然微软前端时间放出些消息,要支持.NET跨平台的发展,但是微软一直坚持着不主动.不拒绝.不负责的三不态度,仍然用一种软件帝国的心态,折腾着一些毫无新意的东西.微软想要 ...

  3. 一步步学习javascript基础篇(7):BOM和DOM

    一.什么是BOM.什么是DOM BOM即浏览器对象模型,主要用了访问一些和网页无关的浏览器功能.如:window.location.navigator.screen.history等对象. DOM即文 ...

  4. c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥

    对于微软开发者来说,每次BUILD大会都是值得期待的.这次也是惊喜满满,除了大众瞩目的WP8.1的发布还有一项会令开发者兴奋的技术出现:.NET NATIVE.下面就来详细了解一下其为何物. [小九的 ...

  5. Binder In Native

    关于Binder的设计思想与Driver层实现细节可以看这个:Android Binder设计与实现 - 设计篇,这里首先简要概括一下. Service的每个Binder实体位于Service所属的进 ...

  6. ABP源码分析十五:ABP中的实用扩展方法

    类名 扩展的类型 方法名 参数 作用 XmlNodeExtensions XmlNode GetAttributeValueOrNull attributeName Gets an   attribu ...

  7. TODO:MongoDB的查询更新删除总结

    TODO:MongoDB的查询更新删除总结 常用查询,条件操作符查询,< .<=.>.>=.!= 对应 MongoDB的查询操作符是$lt.$lte.$gt.$gte.$ne ...

  8. [Java]Java日期及时间库插件 -- Joda Time.

    来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用的都是JDK原生的时间处理API, 大家都知道Java原生的时间处 ...

  9. 列属性:RowGUIDCol、Identity 和 not for replication

    Table Column有两个特殊的属性RowGUIDCol 和 Identity,用于标记数据列: $ROWGUID 用于引用被属性 RowGUIDCol 标识的UniqueIdentifier 类 ...

  10. HTML5系列目录

    1. HTML5与HTML4的区别 2. HTML5结构 3. HTML5表单 4. HTML5文件 5. HTML5绘图 6. HTML6本地存储