我是IOS编程的新手。今天我尝试实现UITabBarController,但决定删除它。从那以后我的应用程序崩溃了。我确定我已经删除了app委托的右侧部分,因为我使用了ctrl + z。我似乎无法找出应用程序崩溃的原因以及原因?
源码:
http://www.codeviewer.org/view/code:3cc0
调试:
2014-02-24 21:00:26.628 app[1307:70b] -[__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance 0xca716d0
2014-02-24 21:00:26.631 app[1307:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance 0xca716d0'
*** First throw call stack:
(
0 CoreFoundation 0x02b235e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x028a68b6 objc_exception_throw + 44
2 CoreFoundation 0x02bc0903 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
3 CoreFoundation 0x02b1390b ___forwarding___ + 1019
4 CoreFoundation 0x02b134ee _CF_forwarding_prep_0 + 14
5 app 0x000627e9 -[MenuViewController viewDidLoad] + 16057
6 UIKit 0x01728318 -[UIViewController loadViewIfRequired] + 696
7 UIKit 0x017285b4 -[UIViewController view] + 35
8 UIKit 0x01752ca9 -[UINavigationController rotatingSnapshotViewForWindow:] + 52
9 UIKit 0x01a7ca60 -[UIClientRotationContext initWithClient:toOrientation:duration:andWindow:] + 420
10 UIKit 0x016582f2 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 1495
11 UIKit 0x01657d16 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:] + 82
12 UIKit 0x01657be8 -[UIWindow _setRotatableViewOrientation:updateStatusBar:duration:force:] + 117
13 UIKit 0x01657c70 -[UIWindow _setRotatableViewOrientation:duration:force:] + 67
14 UIKit 0x01656d0a __57-[UIWindow _updateToInterfaceOrientation:duration:force:]_block_invoke + 120
15 UIKit 0x01656c6c -[UIWindow _updateToInterfaceOrientation:duration:force:] + 400
16 UIKit 0x016579c3 -[UIWindow setAutorotates:forceUpdateInterfaceOrientation:] + 870
17 UIKit 0x0165afb6 -[UIWindow setDelegate:] + 449
18 UIKit 0x0172c737 -[UIViewController _tryBecomeRootViewControllerInWindow:] + 180
19 UIKit 0x01650c1c -[UIWindow addRootViewControllerViewIfPossible] + 609
20 UIKit 0x01650d97 -[UIWindow _setHidden:forced:] + 312
21 UIKit 0x0165102d -[UIWindow _orderFrontWithoutMakingKey] + 49
22 UIKit 0x0165b89a -[UIWindow makeKeyAndVisible] + 65
23 app 0x00012ecf -[AppDelegate application:didFinishLaunchingWithOptions:] + 1391
24 UIKit 0x0160e355 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 309
25 UIKit 0x0160eb95 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1536
26 UIKit 0x016133a8 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 824
27 UIKit 0x0162787c -[UIApplication handleEvent:withNewEvent:] + 3447
28 UIKit 0x01627de9 -[UIApplication sendEvent:] + 85
29 UIKit 0x01615025 _UIApplicationHandleEvent + 736
30 GraphicsServices 0x0448c2f6 _PurpleEventCallback + 776
31 GraphicsServices 0x0448be01 PurpleEventCallback + 46
32 CoreFoundation 0x02a9ed65 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53
33 CoreFoundation 0x02a9ea9b __CFRunLoopDoSource1 + 523
34 CoreFoundation 0x02ac977c __CFRunLoopRun + 2156
35 CoreFoundation 0x02ac8ac3 CFRunLoopRunSpecific + 467
36 CoreFoundation 0x02ac88db CFRunLoopRunInMode + 123
37 UIKit 0x01612add -[UIApplication _run] + 840
38 UIKit 0x01614d3b UIApplicationMain + 1225
39 app 0x0008f4fd main + 141
40 libdyld.dylib 0x030c370d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
答案 0 :(得分:0)
您是否也从Interface Builder中的.xib文件中删除了UITabBarController
?
您是否也从Interface Builder中的.xib文件中删除了UITabBarController
?
检查对象 - 在你的情况下NSDictionary是它的类,键不是null。例如:
- (void)fetchedDataAlerta:(NSData *)responseData {
NSError* error;
NSLog(@"RESP register %@", responseData);
if(responseData ) { //here you have recieved valid info. Without it, next line will crash
NSDictionary* json = [NSJSONSerialization options:kNilOptions error:&error];
在你的情况下
NSData* rawBody2 = [response2 rawBody];
//here check if NSData is not null, nil and is valid add line
if (rawBody2) {
results2 = [NSJSONSerialization JSONObjectWithData:rawBody2 options:NSJSONReadingMutableContainers error:nil];