zoukankan      html  css  js  c++  java
  • libc++abi.dylib: terminate_handler unexpectedly threw an exception

    在执行一个界面的时候,就是一直libc++abi.dylib: terminate_handler unexpectedly threw an exception。也没有指明是哪里错误,后来经检查发现是数组越界
    - (CellInfo_t *)getCellInfo:(NSIndexPath *)indexPath{
        NSInteger row=[self getCellInfoFromIndex:indexPath];
        return self.cellInfoArrayTwo[row];
    }
    - (NSInteger)getCellInfoFromIndex:(NSIndexPath *)indexPath{
        NSInteger section=indexPath.section;
        if (section==0) {
            return indexPath.row;
        }else if (section==1){
            return [self numberOfRowsInSection:0]+indexPath.row;
        }else{
            NSAssert(NO, @"Invalid cellInfo From Index");
        }
        return -1;
    }
    - (NSInteger)numberOfRowsInSection:(NSInteger)section{
        switch (section)
        {
            case 0:return 1;
            case 1:return 12;
            default:
                NSAssert(NO, @"Invalid section index");
                break;
        }
        return -1;
    }
    后经检查发现,我把
    [self numberOfRowsInSection:0]的0写成1了,导致数组一直越界。程序crash
  • 相关阅读:
    1641. 统计字典序元音字符串的数目
    1688. 比赛中的配对次数
    核心思路
    面试题 16.17. 连续数列
    70. 爬楼梯
    面试题 08.01. 三步问题
    剑指Offer 42. 连续子数组的最大和
    设计模式之原型模式
    代理模式之动态代理
    设计模式之禅(六大设计原则)
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6789541.html
Copyright © 2011-2022 走看看