我正在編碼一個簡單的計算器,我想爲所有4個算術按鈕做一個獨特的功能。我到了這裏:簡單的函數給我一個崩潰Objective-C
-(IBAction)simbolo1:(UIButton*)sender{
if (isNumeric(campo1.text)) {
NSString *str=campo1.text;
campo2.text=str;
int S=1;
NSString *cmp1 = [NSString stringWithFormat:@"%d", S];
sinal.text=cmp1;
[email protected]"";
} else {
[email protected]"Only numeric values";
}
}
但是,由於某種原因,我不能得到這個工作。每次點擊按鈕,我都會崩潰。 所以,我檢查那裏真的是錯誤,我刪除整個代碼:
-(void)simbolo1:(UIButton*)sender{
[email protected]"Only numeric values";
}
這些代碼行似乎給了我同樣的錯誤之前
我得到一個「綠色:標記「此文件:
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]){
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil); <--------- This line right here
[pool release];
return retVal;
}
編輯--------------- 在debud控制檯即時得到這樣的:
2011-09-30 09:17:14.319 Teste iPhone[28432:fb03] Applications are expected to have a root view controller at the end of application launch
2011-09-30 09:17:21.714 Teste iPhone[28432:fb03] -[Teste_iPhoneAppDelegate simbolo1]: unrecognized selector sent to instance 0x6b7c2d0
2011-09-30 09:17:21.715 Teste iPhone[28432:fb03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Teste_iPhoneAppDelegate simbolo1]: unrecognized selector sent to instance 0x6b7c2d0'
*** First throw call stack:
(0x166d062 0x17fed0a 0x166ecfd 0x15d3f10 0x15d3cf2 0x166eed9 0x16eb2 0x16e4a 0xbc3e6 0xbc8af 0xbbb6e 0x3c2a0 0x3c4c6 0x22c74 0x16399 0x1557fa9 0x16411d5 0x15a6042 0x15a492a 0x15a3dd4 0x15a3ceb 0x1556879 0x155693e 0x1438b 0x272d 0x26a5)
terminate called throwing an exception(gdb)
究竟是什麼類型'campo1'鏈接
IBOutlet UITextField* campo1;
到適當的UITextField?請向我們顯示適當的頭文件 –查看調試器控制檯。 (1)那裏打印的錯誤是什麼(2)什麼是堆棧? –
哦,對不起。 'campo1'是一個UITextField。 isNumeric是一個函數來檢查一個字符串是否只是數字。 – markus