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