在执行一个界面的时候,就是一直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