그래서 인터페이스 작성기에서 만든 UITabView 컨트롤러가 있습니다. UITabBarItem의 제목 및 이미지 속성이 IB에 설정되었습니다. Tab Bar Controller 객체가 xib에 있고 필요한 모든 연결이 이루어집니다.UITabBar - setItems : animated : 크래시
[tabBarController setSelectedIndex : 1]와 같은 간단한 명령을 호출 할 수 있습니다.
모든 것이 제대로 작동하지만 'items'속성을 설정할 때 충돌이 발생합니다. 어쩌면 메모리 관리 문제가있을 수 있습니까?
NSMutableArray *modifiedItems = [[tabBarController.tabBar items] mutableCopy];
[modifiedItems removeObjectAtIndex:2];
NSArray *newItems = [[NSArray alloc] initWithArray:modifiedItems];
-->[tabBarController.tabBar setItems:newItems animated:NO];
* 애플리케이션의 종료로 인해 캐치되지 않는 예외 'NSInternalInconsistencyException'이유로 : 여기서
는 충돌 코드 '. 직접 허용되지 탭 바 컨트롤러에 의해 관리되는 탭 바 수정' 첫째 던져에서 * 콜 스택 :0 CoreFoundation 0x02b9bb99 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x02ceb40e objc_exception_throw + 47
2 CoreFoundation 0x02b54238 +[NSException raise:format:arguments:] + 136
3 CoreFoundation 0x02b541aa +[NSException raise:format:] + 58
4 UIKit 0x005f7019 -[UITabBar setItems:animated:] + 2037
5 Zag Map 0x00003422 -[ZagMapAppDelegate iPodTouchRemoval] + 270
6 Zag Map 0x00002eea -[ZagMapAppDelegate applicationDidFinishLaunching:] + 551
7 UIKit 0x003faf80 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1252
8 UIKit 0x003fd3b0 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 346
9 UIKit 0x004073ec -[UIApplication handleEvent:withNewEvent:] + 1958
10 UIKit 0x003ffb3c -[UIApplication sendEvent:] + 71
11 UIKit 0x004049bf _UIApplicationHandleEvent + 7672
12 GraphicsServices 0x03357822 PurpleEventCallback + 1550
13 CoreFoundation 0x02b7cff4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
14 CoreFoundation 0x02add807 __CFRunLoopDoSource1 + 215
15 CoreFoundation 0x02adaa93 __CFRunLoopRun + 979
16 CoreFoundation 0x02ada350 CFRunLoopRunSpecific + 208
17 CoreFoundation 0x02ada271 CFRunLoopRunInMode + 97
18 UIKit 0x003fcc6d -[UIApplication _run] + 625
19 UIKit 0x00408af2 UIApplicationMain + 1160
20 Zag Map 0x00002ca0 main + 102
21 Zag Map 0x00002c31 start + 53
terminate called after throwing an instance of 'NSException'
내있는 NSArray와 NSMutableArray를들은 기능의 UITabBar에서 바로 온 고려 괜찮을 것으로 보인다. 그것은 세 개의 객체를 반환 한 다음 두 개를 반환했습니다. 나는 여기서 바보 같은 것을 간과하고 있기를 바란다. 어떤 아이디어라도 정말 고맙겠습니다.
처럼 할 수 있습니까? 그건 내가 정말로 도움이 될거야. – tia
"중단 점"을 클릭 한 다음 "빌드 및 디버그"를 클릭하십시오. 그것이 충돌 할 때 더 많은 정보가 잘못되어가는 것을 알려주는 더 상세한 오류가있을 것입니다. –