zoukankan      html  css  js  c++  java
  • IOS 空字符串报错 解决办法

    NSScanner: nil string argument 

    NSScanner: nil string argument

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

    这个错误多数都是由于空字符串引起的,请仔细检查,不行就看看下面的几个方法吧。

    对某一个空数组使用[array objectAtIndex: i ]方法,也出现这个错,不是报数组越界,说好的OC支持向空对象传递数据呢?

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

    使用storyBoard ib搭建界面时,代码中没有相应控件,但sb ib中已对该控件连接,也同样报这个错,且多数出现在页面跳转的时候,如下图所示。

    骚年,有时候连警告都不会有,要仔细找,这个错其实挺烦的,所以要随时将不要连接的线去掉(storyboard ib 与 代码要同步控件变量)。

    话说集成友盟时也可能会出这个错,去官网看吧,反正我还没遇上。 在UITableView中使用reuseIdentifier,有误的id也会导致这个错。

    在使用第三方框架的时候也会出现这种问题,常见的就是刷新控件之间的不兼容,所以要仔细观察,其实我被这个坑的有点惨。

    当很难断点,定位不到错误时请善用以下代码,或许能给你提示:

    @try{
        //程序崩溃的地方,其实这个错经常在main.c文件报出来
    }
    @catch(NSException *exception) {
        NSLog(@"exception:
    %@", exception);
    }
    @finally{
    }
  • 相关阅读:
    做正确的事,正确的做事
    博客园翻车启示录
    从一次线下读书会获得的收获
    坚持一个好习惯该有多难?
    有道云笔记
    Leetcode 10. 正则表达式匹配
    C++版
    VS 2013 professional版在win10上安装出错的解决方法
    华为校招2016.09机试 第1题: 字符串按指定长度重新分割
    C#版
  • 原文地址:https://www.cnblogs.com/nmzd/p/4495290.html
Copyright © 2011-2022 走看看