开发者

Object handling error in iPhone, select tab in UITabView and crash

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:

  1. Ensure that you have not misspelled the key you are trying to access i.e. colour.

  2. 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

  3. 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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜