내 UITabBarController가 관리하는 컨트롤러를 반복하고 UINavigationControllers가 포함 된 탭에 대해 현재 탐색 스택에있는 viewController 수를 확인합니다. 컨트롤러가 UINavigationControllers 주장하고, 자신의 viewControllers 속성은 배열로 표시되는 동안 불행하게도, 내가 예상대로 "계산"에 응답하지 않습니다viewController 수를 가져올 수 없습니다.
for (UIViewController *controller in tabBarController.viewControllers) {
if ([controller isKindOfClass:[UINavigationController class]]) {
UINavigationController *navigationController = (UINavigationController*)controller;
NSLog(@"Analyzing controller: %@", controller.title);
NSLog(@"Views in hierarchy: %@", [navigationController.viewControllers count]);
} else {
....
}
}
을 나는 상에 EXC_BAD_ACCESS 오류가 발생 " Views in hierarchy : "행 수를 navigationController.viewControllers로 보내려고 할 때의 줄.
나는 여기에서 당황하고 누구든지 제공 할 수있는 도움을 원할 것입니다. 미리 감사드립니다!
왜 캐스트를 부호없는 long으로 설정해야합니까? count는 이미 NSUInteger를 반환하는데, iPhone에서는 부호없는 long입니다. – Guillaume
@Guillaume 구현 세부 사항입니다. 다른 유형이 된 경우 더 이상 '% lu'형식 지정자와 일치하지 않습니다. –
아, 맞습니다. 나는이 물건을 너무 오래 꼼짝 않고 바라 보았다. 고맙습니다! –