Hey everyone, I'm creating a tab-view application, and in the one tab I have 7 textFields that I am trying to save the information for with a "Save" button. After making the connections between the objects in my controller.h file and the actual text fields, when I select the tab with all this stuff in it, the application crashes and goes to the springboard. I have the debug here:
2011-02-23 08:49:02.522 Tow Boat 911[19138:207] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x4e0d1d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key colour.'
*** Call stack at first throw:
(
0 CoreFoundation 0x00ec6be9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x00cbb5c2 objc_exception_throw + 47
2 CoreFoundation 0x00ec6b21 -[NSException raise] + 17
3 Foundation 0x000286cf _NSSetUsingKeyValueSetter + 135
4 Foundation 0x0002863d -[NSObject(NSKeyValueCoding) setValue:forKey:] + 285
5 UIKit 0x004a78d6 -[UIRuntimeOutletConnection connect] + 112
6 CoreFoundation 0x00e3d2cf -[NSArray makeObjectsPerformSelector:] + 239
7 UIKit 0x0开发者_运维技巧04a62ed -[UINib instantiateWithOwner:options:] + 1041
8 UIKit 0x004a8081 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 168
9 UIKit 0x00360a94 -[UIViewController _loadViewFromNibNamed:bundle:] + 70
10 UIKit 0x0035e709 -[UIViewController loadView] + 120
11 UIKit 0x0035e5e3 -[UIViewController view] + 56
12 UIKit 0x00371230 -[UITabBarController transitionFromViewController:toViewController:transition:shouldSetSelected:] + 120
13 UIKit 0x0036fd86 -[UITabBarController transitionFromViewController:toViewController:] + 64
14 UIKit 0x00371b7e -[UITabBarController _setSelectedViewController:] + 263
15 UIKit 0x003719ed -[UITabBarController _tabBarItemClicked:] + 352
16 UIKit 0x002b0a6e -[UIApplication sendAction:to:from:forEvent:] + 119
17 UIKit 0x004ae1f2 -[UITabBar _sendAction:withEvent:] + 422
18 UIKit 0x002b0a6e -[UIApplication sendAction:to:from:forEvent:] + 119
19 UIKit 0x0033f1b5 -[UIControl sendAction:to:forEvent:] + 67
20 UIKit 0x00341647 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
21 UIKit 0x0033f16c -[UIControl sendActionsForControlEvents:] + 49
22 UIKit 0x002b0a6e -[UIApplication sendAction:to:from:forEvent:] + 119
23 UIKit 0x0033f1b5 -[UIControl sendAction:to:forEvent:] + 67
24 UIKit 0x00341647 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
25 UIKit 0x003401f4 -[UIControl touchesEnded:withEvent:] + 458
26 UIKit 0x002d50d1 -[UIWindow _sendTouchesForEvent:] + 567
27 UIKit 0x002b637a -[UIApplication sendEvent:] + 447
28 UIKit 0x002bb732 _UIApplicationHandleEvent + 7576
29 GraphicsServices 0x016dda36 PurpleEventCallback + 1550
30 CoreFoundation 0x00ea8064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
31 CoreFoundation 0x00e086f7 __CFRunLoopDoSource1 + 215
32 CoreFoundation 0x00e05983 __CFRunLoopRun + 979
33 CoreFoundation 0x00e05240 CFRunLoopRunSpecific + 208
34 CoreFoundation 0x00e05161 CFRunLoopRunInMode + 97
35 GraphicsServices 0x016dc268 GSEventRunModal + 217
36 GraphicsServices 0x016dc32d GSEventRun + 115
37 UIKit 0x002bf42e UIApplicationMain + 1160
38 Tow Boat 911 0x00001df8 main + 102
39 Tow Boat 911 0x00001d89 start + 53
)
terminate called after throwing an instance of 'NSException'
Program received signal: “SIGABRT”.
Thanks everyone for any help in advance!
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key colour.
In this case check the following:
Ensure that you have not misspelled the key you are trying to access i.e. colour.
The class attribute you are trying to access i.e. colour should be Key Value compliant. You can have the attribute declared as a property in header and synthesize the same in the implementation file. Do not change the default name for the getter and setter in the property declaration. The default method name/signature is KVC compliant. Apple documentation on KVC covering the accessor method code: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/Overview.html
If you are using core data ensure that the property being accessed is present in the corresponding header file and also has its code in the implementation file. It can happen that you have added this property later to the model and have not updated the generated header and implementation file.
Came across this post without an answer so thought I would put a response which may help someone else.
精彩评论