splitViewController에서 디테일 뷰를 변경하려고하는데 UIViewControllerHierarchyInconsistency 예외가 있습니다. self.detailView.view = view.view; xib 파일에 다른 viewController가 있고 또한 removeFromParentViewController 메서드를 사용하는 경우에도 제어했습니다. 그러나 동일한 예외가 있습니다. 오류는 iOS 6에서만 발생하지만 iOS 5에서는 iPad 시뮬레이터에서 발생하지 않습니다.UIViewControllerHierarchy 불일치 뷰 컨트롤러 예외
답변
'UIViewControllerHierarchyInconsistency'라는 캐치되지 않은 예외로 인해 앱이 종료되는 이유는 다음과 같습니다. '한 번에 하나의보기 컨트롤러에만보기를 연결할 수 있습니다! 이 오류, view.view splitViewController로드 할보기입니다, 다른 코드가 없습니다, viewController 연결을 제거하려면 removefromparentviewcontroller 사용되는 분할 뷰의 변경 만 않습니다. 예외를 제거하려면
splitViewController가 UISplitViewController의 인스턴스입니까? http://developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewController_class/Reference/Reference.html
그렇다면 근본적으로 잘못된 것을하고있는 것입니다. UISplitViewController는 단순히 두 개의 뷰 컨트롤러, 마스터 뷰 컨트롤러 및 상세 뷰 컨트롤러에 대한 컨테이너입니다. 그런 다음 상호 작용 등을 처리하는 방법을 결정하는 것은보기 컨트롤러에 달려 있습니다. removeFromParentViewController는 View Controller Containment에서만 사용되며 여기서는 적용되지 않습니다.
위 링크에서 설명서를 읽고 필요에 맞는 지 확인하십시오. 그러나 이해한다면보기가 아닌 분할보기에서 컨트롤러보기를 설정해야합니다.
당신을 위해, 당신이해야 할 : 올바른 해결책이 될 수 있도록이 적용되지 않는 경우
// Assume this is initialised correctly
UISplitViewController* splitViewController = [UISplitViewController alloc] init...];
// Assign the two view controller you want to be used in the split view controller
splitViewController.viewControllers = @[masterViewController, detailViewController];
를, 다음 코드를 제공하십시오. 귀하의 설명은 귀하가 실제로하는 일에 대해 다소 모호합니다.
네, 그게 제가 한 일입니다. 저는 viewControllers를 직접 바꿨습니다 ... – user1575803
- 1. CollapsableTableView, UIViewControllerHierarchy iOS6의 불일치 오류
- 2. 컨테이너 뷰 컨트롤러 addSubview 예외
- 3. 예외 던지기 불일치
- 4. WPF의 어셈블리 불일치 예외
- 5. 모달 뷰 컨트롤러 충돌
- 6. 지연 테이블 뷰 이미지 불일치
- 7. 내비게이션 컨트롤러/뷰 컨트롤러 관리
- 8. 카디널리티 불일치 예외 가져 오기
- 9. 모델, 뷰, 컨트롤러 혼란
- 10. 모달 뷰 컨트롤러 (MPMoviePlayerViewController)
- 11. 충돌이있는 모달 뷰 컨트롤러
- 12. 아이폰 - 뷰 컨트롤러
- 13. 아이폰 - 오류로드 뷰 컨트롤러
- 14. 해제 모델 뷰 컨트롤러
- 15. 앱 충돌로드 뷰 컨트롤러
- 16. 분할 뷰 컨트롤러 질문
- 17. 다른 컨트롤러 뷰 렌더링
- 18. (모델/뷰/컨트롤러) MVC
- 19. 이있는 모달 뷰 컨트롤러
- 20. 호출 뷰 컨트롤러 문자열이
- 21. .NET MVC 컨트롤러 예외
- 22. 일반 뷰 컨트롤러 내부의 테이블 뷰
- 23. 테이블 뷰 컨트롤러 테스트 프로그램
- 24. DataTable 열 이름 불일치 예외 처리
- 25. ANTLR AST 문법 문제 불일치 토큰 예외
- 26. 해당 뷰 추진없이보기 컨트롤러 호출
- 27. MVC의 뷰, 컨트롤러, 모델 그룹화
- 28. 모델/뷰/컨트롤러 in emacs
- 29. 네비게이션 컨트롤러 및 테이블 뷰
- 30. 뷰 컨트롤러 다시 초기화 - iPhone
상황에 대한 컨텍스트를 제공하는 코드를 제공해 주시겠습니까? 예를 들어, view.view는 어디에서 왔으며, removeFromParentViewController를 사용하고 Console에서 정확한 오류가 나옵니다. – WDUK
캐치되지 않은 예외 'UIViewControllerHierarchyInconsistency'로 인해 앱이 종료됩니다. 이유는 다음과 같습니다. '한 번에 하나의보기 컨트롤러에만보기를 연결할 수 있습니다! 이 오류, view.view splitViewController로드 할보기입니다, 다른 코드가 없습니다, viewController 연결을 제거하려면 removefromparentviewcontroller 사용되는 분할 뷰의 변경 만 않습니다. 예외를 제거하려면 – user1575803