현재 사용자에 따라 컨트롤러 스택을 만드는 앱에서 작업하고 있습니다.여러보기 컨트롤러를 밀고 터뜨리면 임의의 충돌이 발생합니다.
기본적으로 UIViewController
은 UIButton
이고 다른 하나는 UIView Controller
입니다. 다른보기 컨트롤러 등으로 연결되는 버튼이 있습니다. 뷰 컨트롤러는 푸시 (push)되므로 사용자가 항상 버튼을 누르면 여러 개의 뷰 컨트롤러 스택이 생성됩니다. 사용자가 이전 뷰 컨트롤러로 돌아가고 싶을 때마다 뷰가 팝업됩니다.
모든 것이 잘 작동합니다 (푸시 및 팝). 그러나 무작위로 앱이 다운됩니다. 이미 많은 양의 뷰가 푸시되고 메모리 문제가 될 수 있다고 의심되는 경우가 발생했습니다.
뷰 컨트롤러를 밀어 넣는 것 외에 다른 방법으로 스택 된 뷰를 피할 수 있습니까? 누적 된보기 때문에 충돌이 아닌 것일 수도 있습니다. 그러나 나는 뭔가를 놓치고 있기 때문에 충돌이 될 수 있습니까? 로그에 오류가 표시되지 않아 어떤 일이 일어나는지 알 수 없으며 iOS 개발에 익숙하지 않습니다.
대단히 감사합니다!
편집 1 :은 로그에 오류가 없지만,이 메시지 응용 프로그램 충돌이있을 때 :
Thread 1: EXC_BAD_ACCESS(code = 1, address = 0xd000000c)
편집 2 : 이것은 내가 컨트롤러를 밀어하고 방법입니다
CustomController *custom = [self.storyboard instantiateViewControllerWithIdentifier:@"Custom"];
[self.navigationController pushViewController:custom animated:YES];
그리고 다시 버튼을 누를 때 나는 그것을 펑하는 방법이 있습니다 :
[self.navigationController popViewControllerAnimated:YES];
편집 3 :
중첩 된 푸시 애니메이션이 손상된 탐색 모음 결과 예상치 못한에서 탐색 전환을 완료 할 수 있습니다 계획에 좀비 오브젝트를 활성화 한 후, 여러 개의 푸시와 팝 후이 메시지를하기 시작 상태. 탐색 바 하위 뷰 트리가 손상 될 수 있습니다.
에 대한 시작/종료 모양 전환의 불균형 호출 실제로 이러한 메시지는 컨트롤러에 애니메이션을 넣는 데 문제가 있다고 말합니까? 모두에게 감사드립니다!
편집 4 :
컨트롤러 A는 다른 장소에 해당 아이콘이 표시됩니다 : 나는 더 설명하기 위해 질문을 수정하려고합니다이 내 설정입니다. 아이콘을 클릭하면 컨트롤러 B를 누르고 위치 A의 세부 정보를 표시 할 수 있습니다.
컨트롤러 B는 위치 A의 위치에 가까운 아이콘을 표시하는 컨트롤러 A를 표시하는 버튼과 함께 위치 A에 대한 정보를 표시합니다. 다시 아이콘을 클릭하고, 위치 B에 대해 말하고, 세부 사항 등을 표시 할 수 있습니다.
사용자가 뒤로 단추를 누르면 이전보기 컨트롤러가 표시됩니다. 이것이 제가 푸시와 팝을 사용한 이유입니다. 이 프로세스를 처리하는 더 좋은 방법이 있습니까? 다시 한 번 감사드립니다!
ARC를 사용합니까? 어떻게 UIViewController를 푸시합니까? 나는 푸시 팝을 사용하고 잘 작동합니다. Tr y 'All Exception Breakpoint'를 켜면 충돌이 발생한 곳을 알려줍니다. – nmh
예. ARC를 사용하고 있습니다. 게시물을 업데이트하여 뷰를 푸시하고 팝하는 방법을 보여주었습니다. 사실, 나는 밀고 팝 할 때 정확한 응답을 얻고 있습니다. 그러나, 내가 지속적인 푸시 및 팝업에 대한 응용 프로그램을 테스트하면 응용 프로그램이 충돌합니다. 당신이 중단 점에 대해 말했던 것을 할 것이고 빨리 갱신 될 것입니다. 대답 해 주셔서 감사합니다! – ryan13