I have created a TabBarView. On one of the tabs, I have a View with several Labels
on it. It works fine.
When I connect the Labels in Interface Builder to the File's Owner (the corresponding IBOutlets) then the App crashes with the following error when I open that tab:
2011-05-15 18:36:29.070 AeroNav[958:707] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x18afe0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key speedLabel.'
*** Call stack at first throw:
(
0 CoreFoundation 0x312a664f __exceptionPreprocess + 114
1 libobjc.A.dylib 0x34a07c5d objc_exception_throw + 24
2 CoreFoundation 0x312a63cd -[NSException dealloc] + 0
3 Foundation 0x351c7edb -[NSObject(NSKeyValueCoding) setValue:forUndefinedKey:] + 182
4 Foundation 0x351809cb _NSSetUsingKeyValueSetter + 90
5 Foundation 0x35180217 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 194
6 Foundation 0x3516242f -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 130
7 UIKit 0x369848df -[UIRuntimeOutletConnection connect] + 66
8 CoreFoundation 0x3123ed7b -[NSObject(NSObject) performSelector:] + 18
9 CoreFoundation 0x3123e99d -[NSArray makeObjectsPerformSelector:] + 388
10 UIKit 0x36983847 -[UINib instantiateWithOwner:options:] + 586
11 UIKit 0x36984e09 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 92
12 UIKit 0x368fe5e9 -[UIViewController _loadViewFromNibNamed:bundle:] + 36
13 UIKit 0x368cbfa5 -[UIViewController loadView] + 80
14 UIKit 0x367b0ebf -[UIViewController view] + 30
15 UIKit 0x367ee1db -[UITabBarController transitionFromViewController:toViewController:transition:shouldSetSelected:] + 66
16 UIKit 0x367ee18d -[UITabBarController transitionFromViewController:toViewController:] + 32
17 UIKit 0x367eda33 -[UITabBarController _setSelectedViewController:] + 186
18 UIKit 0x36872ceb -[UITabBarController setSelectedViewController:] + 14
19 UIKit 0x36872be7 -[UITabBarController _tabBarItemClicked:] + 226
20 CoreFoundation 0x31216571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
21 UIKit 0x36796ec9 -[UIApplication sendAction:to:from:forEvent:] + 84
22 UIKit 0x36796e69 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
23 UIKit 0x36872a8b -[UITabBar _sendAction:withEvent:] + 270
24 CoreFoundation 0x31216571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
25 UIKit 0x36796ec9 -[UIApplication sendAction:to:from:forEvent:] + 84
26 UIKit 0x36796e69 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
27 UIKit 0x36796e3b -[UIControl sendAction:to:forEvent:] + 38
28 UIKit 0x36796b8d -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 356
29 UIKit 0x367d0bd9 -[UIControl sendActionsForControlEvents:] + 16
30 UIKit 0x36872815 -[UITabBar(Static) _buttonUp:] + 80
31 CoreFoundation 0x31216571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
32 UIKit 0x36796ec9 -[UIApplication sendAction:to:from:forEvent:] + 84
33 UIKit 0x36796e69 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
34 UIKit 0x36796e3b -[UIControl sendAction:to:forEvent:] + 38
35 UIKit 0x36796b8d -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 356
36 UIKit 0x36797423 -[UIControl touchesEnded:withEvent:] + 342
37 UIKit 0x36795bf5 -[UIWindow _sendTouchesForEvent:] + 368
38 UIKit 0x3679556f -[UIWindow sendEvent:] + 262
39 UIKit 0x3677e313 -[UIApplication sendEvent:] + 298
40 UIKit 0x3677dc53 _UIApplicationHandleEvent + 5090
41 GraphicsServices 0x36452e77 PurpleEventCallback + 666
42 CoreFoundation 0x3127da97 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
43 CoreFoundation 0x3127f83f __CFRunLoopDoSource1 + 166
44 CoreFoundation 0x3128060d __CFRunLoopRun + 520
45 CoreFoundation 0x31210ec3 CFRunLoopRunSpecific + 230
46 CoreFoundation 0x31210dcb CFRunLoopRunInMode + 58
47 GraphicsServices 0x3645241f GSEventRunModal + 114
48 GraphicsServices 0x364524cb GSEventRun + 62
49 UIKit 0x367a8d69 -[UIApplication _run] + 404
50 UIKit 0x367a6807 UIApplicationMain + 670
51 AeroNav 0x00002423 main + 70
52 AeroNav 0x000023d8 start + 40
)
terminate called after throwing an instance of 'NSException'
I have read that it can be related to the xib not matching (correctly connected) to its view controller. I have no idea how to check or fix that?
This is how my header file looks:
//Stats.h
#import <UIKit/UIKit.h>
@interface Stats : UIViewController
{
IBOutlet UILabel *speedLabel;
IBOutlet UILabel *headingLabel;
}
@end
If anybody has any tips or links to other similar posts, I would appreciate it!
Thank you in advance!