흥미로운 문제가 있습니다. 왜 그런 일이 일어나고 있는지, 내가 간과하고있는 작은 것이 있는지 찾아 볼 수 없습니다.didSelectRowAtIndexPath에있는 NSZombie
내가 jQuery과가 내 didselectrowatindex 경로에 나는 새로운보기로 이동, 나는 그 다음보기로 이동하고 그래서 EXC_BAD_ACCESS
로 다시 다음 첫 번째 및 앱 충돌을 얻을 두보기 팝업 나는 악기와 NSZombie를 사용 didselectrowatindexpath에서의 malloc을 찾았지만, 여기에
내 코드 왜 내가 아무 생각이 :if([workflowswithdirectories count] == 0)
{
WorkflowViewController *aWorkFlow = [[WorkflowViewController alloc] init];
MenuObject *obj = [workflownames objectAtIndex:[indexPath row]];
aWorkFlow.heading = obj.name;
aWorkFlow.workId = obj.workflowid;
aWorkFlow.siteId = obj.siteid;
aWorkFlow.item = obj;
[self.navigationController pushViewController:aWorkFlow animated:YES];
}
else if([workflownames count] == 0)
{
WorkflowListViewController *work = [[WorkflowListViewController alloc] init];
work.siteId = self.siteId;
MenuObject *obj = [workflowswithdirectories objectAtIndex:[indexPath row]];
work.menu = obj.next;
work.heading = obj.name;
[self.navigationController pushViewController:work animated:YES];
}
else
{
if([indexPath section] == 0)
{
WorkflowListViewController *work = [[WorkflowListViewController alloc] init];
work.siteId = self.siteId;
MenuObject *obj = [workflowswithdirectories objectAtIndex:[indexPath row]];
work.menu = obj.next;
work.heading = obj.name;
[self.navigationController pushViewController:work animated:YES];
}
else
{
WorkflowViewController *aWorkFlow = [[WorkflowViewController alloc] init];
MenuObject *obj = [workflownames objectAtIndex:[indexPath row]];
aWorkFlow.heading = obj.name;
aWorkFlow.workId = obj.workflowid;
aWorkFlow.siteId = obj.siteid;
aWorkFlow.item = obj;
[self.navigationController pushViewController:aWorkFlow animated:YES]; //Malloc is on this line
}
}
[tableView deselectRowAtIndexPath:indexPath animated:YES];
편집 :
,내가 언급 한 것을 잊어 버린 점은 특정 클래스의 다른 하나를 navigationcontroller에 밀어 넣는 것입니다.하지만 WorkflowViewController로 이동 한 다음 다음 viewcontroller로 이동 한 다음 예외가 throw 된 두번 뒤로 이동합니다.
새로운 ViewController를 메서드 iVar 대신 강력한 속성으로 만든 경우 어떻게됩니까? 그렇게하면 너무 일찍 석방되지 않을 것이라고 보장 할 수 있습니다. – CodaFi
이미 릴리스 된 개체에 액세스하려고하면 EXC_BAD_ACCESS 오류가 발생합니다. 원래보기로 다시 팝업하는 데 사용하는 메소드에 코드 스 니펫을 게시해야합니다. 당신은 적어도 하나의 다른 견해를 추진하고 있다고 언급했습니다. 거기에있는 물체를 풀어 놓으 셨나요? – Justin
didSelectRowAtIndexPath 메소드를 보여줄 수 있습니까? 전체 추적을 붙여 넣기 만하면됩니다. 오류에 대한 자세한 내용을 보려면 터미널에서 malloc_history를 사용하십시오. –