标签:hand assert get 数组 dylib else pat info 导致
在执行一个界面的时候,就是一直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
libc++abi.dylib: terminate_handler unexpectedly threw an exception
标签:hand assert get 数组 dylib else pat info 导致
原文地址:http://www.cnblogs.com/mfmdaoyou/p/6789540.html