我正在創建一個程序,需要我建立一個NSMutable數組,然後在點擊按鈕時將對象添加到該數組。排序可可中的對象的NSMutableArray給SIGABRT
當用戶點擊了他們想要的所有按鈕(因此將他們需要的所有對象添加到可變數組中)之後,我需要根據對象名稱對數組進行排序。 對象是NSImageViews,它們被添加到數組中,名稱分別爲view1,view2,view40。 我需要一種方法來根據其名稱的最後一位數字對數組中的對象進行排序。 我用
[nameOfArray sortUsingSelector:@selector(caseInsensitiveCompare:)];
但是當我運行應用程序,我在該行獲得SIGABRT。
我看了許多其他線程,找不到解決方案。
任何幫助非常感謝,因爲我一直在這個工作幾個星期了, 任何人都知道我在做什麼錯了?
編輯,這裏是調試後記
說2011-09-30 08:16:06.669 CAP helper[9874:b303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImageView caseInsensitiveCompare:]: unrecognized selector sent to instance 0x4e5f650' *** Call stack at first throw: ( 0 CoreFoundation 0x00de05a9 __exceptionPreprocess + 185 1 libobjc.A.dylib 0x00f34313 objc_exception_throw + 44 2 CoreFoundation 0x00de20bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 3 CoreFoundation 0x00d51966 ___forwarding___ + 966 4 CoreFoundation 0x00d51522 _CF_forwarding_prep_0 + 50 5 CoreFoundation 0x00d472f6 __CFSimpleMergeSort + 374 6 CoreFoundation 0x00d4706c CFSortIndexes + 268 7 CoreFoundation 0x00dda642 -[NSMutableArray sortRange:options:usingComparator:] + 274 8 CoreFoundation 0x00d598cf -[NSMutableArray sortWithOptions:usingComparator:] + 95 9 CoreFoundation 0x00d5983c -[NSMutableArray sortUsingSelector:] + 108 10 CAP helper 0x0000cf81 -[RibbonStacker stackit:] + 305 11 UIKit 0x000324fd -[UIApplication sendAction:to:from:forEvent:] + 119 12 UIKit 0x000c2799 -[UIControl sendAction:to:forEvent:] + 67 13 UIKit 0x000c4c2b -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527 14 UIKit 0x000c37d8 -[UIControl touchesEnded:withEvent:] + 458 15 UIKit 0x00056ded -[UIWindow _sendTouchesForEvent:] + 567 16 UIKit 0x00037c37 -[UIApplication sendEvent:] + 447 17 UIKit 0x0003cf2e _UIApplicationHandleEvent + 7576 18 GraphicsServices 0x01019992 PurpleEventCallback + 1550 19 CoreFoundation 0x00dc1944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 20 CoreFoundation 0x00d21cf7 __CFRunLoopDoSource1 + 215 21 CoreFoundation 0x00d1ef83 __CFRunLoopRun + 979 22 CoreFoundation 0x00d1e840 CFRunLoopRunSpecific + 208 23 CoreFoundation 0x00d1e761 CFRunLoopRunInMode + 97 24 GraphicsServices 0x010181c4 GSEventRunModal + 217 25 GraphicsServices 0x01018289 GSEventRun + 115 26 UIKit 0x00040c93 UIApplicationMain + 1160 27 CAP helper 0x00002219 main + 121 28 CAP helper 0x00002195 start + 53 29 ??? 0x00000001 0x0 + 1 ) terminate called throwing an exception Current language: auto; currently objective-c>
你可能會得到一個異常,最有可能談論一個無法識別的選擇器。請張貼該錯誤。 – DarkDust
確實,請編輯您的問題以包含程序轉儲到調試器控制檯的任何內容。 –
添加了調試器消息,對此感到抱歉 – Thermo