2011-06-08 192 views
0

我有一個觀點的基礎iPhone應用程序
我添加了一個NSObject類AddNewContact,並採取了對象IB應用程序崩潰:iphone

AddNewContact.h

#import <Foundation/Foundation.h> 

@interface AddNewContact : NSObject { 
} 
-(IBAction)abc:(id)sender; 
@end 

AddNewContact.m

#import "AddNewContact.h" 

@implementation AddNewContact 

-(IBAction)abc:(id)sender{ 
    NSLog(@"this is test"); 
} 
@end 

我綁定一個UIButton的行動爲abc:單擊按鈕時應用程序崩潰,甚至的NSLog還沒有登錄
但如果我綁定按鈕操作的其他類函數,那麼好的工作

崩潰日誌

2011-06-08 15:40:30.368 myApp[5466:207] -[NSCFString abc:]: unrecognized selector sent to instance 0x6b7b1c0 
2011-06-08 15:40:30.416 myApp[5466:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString abc:]: unrecognized selector sent to instance 0x6b7b1c0' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x02ad9b99 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x02c2940e objc_exception_throw + 47 
    2 CoreFoundation      0x02adb6ab -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 
    3 CoreFoundation      0x02a4b2b6 ___forwarding___ + 966 
    4 CoreFoundation      0x02a4ae72 _CF_forwarding_prep_0 + 50 
    5 UIKit        0x0039e7f8 -[UIApplication sendAction:to:from:forEvent:] + 119 
    6 UIKit        0x00429de0 -[UIControl sendAction:to:forEvent:] + 67 
    7 UIKit        0x0042c262 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527 
    8 UIKit        0x0042ae0f -[UIControl touchesEnded:withEvent:] + 458 
    9 UIKit        0x003c23d0 -[UIWindow _sendTouchesForEvent:] + 567 
    10 UIKit        0x003a3cb4 -[UIApplication sendEvent:] + 447 
    11 UIKit        0x003a89bf _UIApplicationHandleEvent + 7672 
    12 GraphicsServices     0x0306a822 PurpleEventCallback + 1550 
    13 CoreFoundation      0x02abaff4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 
    14 CoreFoundation      0x02a1b807 __CFRunLoopDoSource1 + 215 
    15 CoreFoundation      0x02a18a93 __CFRunLoopRun + 979 
    16 CoreFoundation      0x02a18350 CFRunLoopRunSpecific + 208 
    17 CoreFoundation      0x02a18271 CFRunLoopRunInMode + 97 
    18 GraphicsServices     0x0306900c GSEventRunModal + 217 
    19 GraphicsServices     0x030690d1 GSEventRun + 115 
    20 UIKit        0x003acaf2 UIApplicationMain + 1160 
    21 myApp       0x00001fa4 main + 102 
    22 myApp       0x00001f35 start + 53 
) 
terminate called after throwing an instance of 'NSException' 

誰能告訴我在哪裏,我錯了

感謝
阿米特Battan

+0

您是否連接按鈕正確嗎? – Anne 2011-06-08 11:34:56

+1

嗯,我認爲你沒有正確地初始化你的按鈕,或者你正在釋放它導致問題。你粘貼你的代碼初始化,以便我們可以看看它 – Robin 2011-06-08 11:35:22

+0

@安妮是的,我正確地在IB連接.. @robin我通過IB使用按鈕,所以我不認爲它釋放 – 2011-06-08 11:38:53

回答

9

您將發佈您的AddNewContact視圖控制器,該視圖仍處於超視圖中,但viewController已發佈,該按鈕嘗試在AddNewContact控制器上調用'abc',該控制器不再存在...

+0

@Simon感謝您的回覆..你能告訴我在哪裏/什麼時候AddNewContact視圖控制器被釋放..作爲IB的對象 – 2011-06-08 12:21:06

+0

你可以添加代碼,你創建並顯示AddNewContact視圖控制器嗎? – 2011-06-08 12:25:57

+0

我要在IB學習Object並改變它的課堂..檢查圖片... http://i.stack.imgur.com/iJJhs.png。 。 。 http://i.stack.imgur.com/CC7Zz.png ...從來沒有用戶AddNewContact任何地方在項目..只綁定按鈕動作只有 – 2011-06-08 12:31:47