【发布时间】:2012-11-27 04:38:58
【问题描述】:
有时我的应用程序会因为显示 * Collection was mutated while being enumerated 而崩溃。这一直发生在同一行代码中。请帮助我解决这个问题。我坚持这一点。该应用程序在推送我的代码的视图控制器行时崩溃。但这并不常见。我的错误控制台
由于未捕获的异常“NSGenericException”而终止应用程序,原因:“* Collection CALayerArray: 0x1030c730 在枚举时发生了突变。 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", “” )'
我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
ServiceDetails *service=[[ServiceDetails alloc] initWithNibName:@"ServiceDetails" bundle:nil];
CompanyListingForm *list=[[CompanyListingForm alloc]initWithNibName:@"CompanyListingForm" bundle:nil];
[category_company_text resignFirstResponder];
if(viewHoldingTable)
{
[viewHoldingTable removeFromSuperview];
}
if (category_clicked_flag==0) {
if (location_or_cat_com==0) {
NSMutableArray *get=[district_array objectAtIndex:indexPath.row];
locationid=[[get objectAtIndex:0]intValue];
[location_textfield resignFirstResponder];
location_textfield.text=[get objectAtIndex:1];
}
else
{
if (draggingView) {
[draggingView removeFromSuperview];
}
if (viewHoldingTable) {
[viewHoldingTable removeFromSuperview];
}
NSMutableArray *get=[company_array objectAtIndex:indexPath.row];
category_company_text.text=[get objectAtIndex:1];
service.ida=[NSString stringWithFormat:@"%d",[[get objectAtIndex:0] intValue]];
service.idloc=[NSString stringWithFormat:@"%d",locationid];
[self.navigationController pushViewController:service animated:YES];//getting error at this point.
//[emer release];
}
}
else
{
if (location_or_cat_com==0) {
NSMutableArray *get=[district_array objectAtIndex:indexPath.row];
locationid=[[get objectAtIndex:0]intValue];
[location_textfield resignFirstResponder];
location_textfield.text=[get objectAtIndex:1];
}
else
{
NSMutableArray *get=[category_array objectAtIndex:indexPath.row];
category_company_text.text=[get objectAtIndex:1];
int catid=[[get objectAtIndex:0]intValue];
list.IDForLoc=[NSString stringWithFormat:@"%d",locationid];
list.IDForCat=[NSString stringWithFormat:@"%d",catid];
list.companydetails=[get objectAtIndex:1];
[self.navigationController pushViewController:list animated:YES];//getting error at this point.
}
}
[service release];
[list release];
}
【问题讨论】:
-
NSMutableArray *getArr = [NSMutableArray arrayWithArray:[[district_array objectAtIndex:indexPath.row]];试试这个。
-
谢谢你的重播。我试过了,但它仍然存在。在同一行。你看到我的代码行导致这个错误了吗?我在将视图推送到导航控制器时出错。
-
是 District_array NSMutableArray 的 NSMutableArray 的吗?
-
ya.you 是对的,它是 NSMutableArray 的 NSMutableArray