2
UINavigationController의 스택에서 viewController를 제거하고 싶습니다.UINavigationController의 스택에서 특정보기 컨트롤러를 제거 할 수있는 방법이 있습니까?
가능합니까? UINavigationController.viewControllers는 NSArray 유형이며 변경할 수 없다는 것을 알았습니다.
또한 popViewController() 또는 pushViewController()를 사용하여 스택 (NSArray)을 변경할 수 있음을 알고 있습니다. 그게 어떻게 가능해?
UINavigationController의 특정 viewController를 다른 viewController로 변경할 수 있습니까? 아니면 방금 viewController 스택에서 제거하는 방법은 무엇입니까? 이 동작을 구현하려는 이유를 물어 수 -
가NSMutableArray * viewControllers = [ <<navController>>.viewControllers mutableCopy ]
[ viewControllers removeObject:<<viewControllerToRemove>> ] ;
navController.viewControllers = viewControllers ;
그러나 이것은 나에게 "재미"소리 :
감사합니다. 테스트를 마친 후에 왜 내가이 일을하는지 게시 할 것입니다. – Ryan
[viewControllers mutableCopy]는 유형이므로 이처럼 NSMutableArray로 캐스팅합니다. [((NSMutableArray *) [viewControllers mutableCopy] .... 그리고 인덱스 0에서 객체를 제거하려고 시도했지만 객체를 제거 할 수 없었습니다. [navigationController.viewControllers count]가 변경되지 않았습니다 .. –
Ryan
캐스트하지 않아도됩니다. 전후에 viewControllers는 무엇입니까? – nielsbot