简体   繁体   中英

Objective-C NSInvalidArgumentException

I have a segemented control with three choices, each choice does a different calculations. The calculations are doing manipulating strings.

I notice that when I first start the app, the strings are nil, btw. If I touch all three options on the segmented control, the app will crash, and here is the stack trace.

I've searched everywhere but can't find the problem still.

[Session started at 2011-02-25 01:21:03 -0500.]
2011-02-25 01:21:07.075 tipApp[2184:207] -[_UIStretchableImage isEqualToString:]: unrecognized selector sent to instance 0x4b5c0a0
2011-02-25 01:21:07.078 tipApp[2184:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_UIStretchableImage isEqualToString:]: unrecognized selector sent to instance 0x4b5c0a0'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x00db7be9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x00f0c5c2 objc_exception_throw + 47
    2   CoreFoundation                      0x00db96fb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                      0x00d29366 ___forwarding___ + 966
    4   CoreFoundation                      0x00d28f22 _CF_forwarding_prep_0 + 50
    5   tipApp                              0x00006f13 -[tipAppViewController exact] + 56
    6   tipApp                              0x00006ed3 -[tipAppViewController mirror] + 4772
    7   tipApp                              0x000057f2 -[tipAppViewController segmentedControlIndexChanged] + 104
    8   UIKit                               0x002c0a6e -[UIApplication sendAction:to:from:forEvent:] + 119
    9   UIKit                               0x0034f1b5 -[UIControl sendAction:to:forEvent:] + 67
    10  UIKit                               0x00351647 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
    11  UIKit                               0x0034f16c -[UIControl sendActionsForControlEvents:] + 49
    12  UIKit                               0x0038e6b2 -[UISegmentedControl setSelectedSegmentIndex:] + 574
    13  UIKit                               0x0039317e -[UISegmentedControl touchesBegan:withEvent:] + 971
    14  UIKit                               0x002e5025 -[UIWindow _sendTouchesForEvent:] + 395
    15  UIKit                               0x002c637a -[UIApplication sendEvent:] + 447
    16  UIKit                               0x002cb732 _UIApplicationHandleEvent + 7576
    17  GraphicsServices                    0x016eda36 PurpleEventCallback + 1550
    18  CoreFoundation                      0x00d99064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
    19  CoreFoundation                      0x00cf96f7 __CFRunLoopDoSource1 + 215
    20  CoreFoundation                      0x00cf6983 __CFRunLoopRun + 979
    21  CoreFoundation                      0x00cf6240 CFRunLoopRunSpecific + 208
    22  CoreFoundation                      0x00cf6161 CFRunLoopRunInMode + 97
    23  GraphicsServices                    0x016ec268 GSEventRunModal + 217
    24  GraphicsServices                    0x016ec32d GSEventRun + 115
    25  UIKit                               0x002cf42e UIApplicationMain + 1160
    26  tipApp                              0x00002888 main + 102
    27  tipApp                              0x00002819 start + 53
)
terminate called after throwing an instance of 'NSException'

[Session started at 2011-02-25 01:26:59 -0500.]

It looks like in your -[tipAppViewController exact] method you are sending the isEqualToString: selector to an object that does not handle it.

If that's not helpful, maybe post the code for the exact method.

Can you post the code for the segmented control? Are you trying to go through the subviews on a UIScrollview? That may cause the exception to thrown. Check out:

http://wiresareobsolete.com/wordpress/2010/03/uiscrollview-has-a-secret/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM