2012-08-15 53 views
0

我的应用程序不断发现“语义错误”,并且一直冻结/崩溃。一切似乎都很好地串起来,并且启动时没有问题。 TextFields正常工作,但只要我点击其他任何东西,它就会失败并强制执行。任何建议? h。“...:”的方法定义未找到

h。

@interface ViewController : UIViewController { 
    IBOutlet UITextField *buy1; 
    IBOutlet UITextField *sell1; 
    IBOutlet UILabel *percentage1; 
    IBOutlet UILabel *profit1; 
    IBOutlet UITextField *royalty; 
    IBOutlet UITextField *buy2; 
    IBOutlet UILabel *sell2; 
    IBOutlet UITextField *percentage2; 
    IBOutlet UILabel *profit2; 

} 
@property (weak, nonatomic) IBOutlet UITextField *buytext1; 
@property (weak, nonatomic) IBOutlet UITextField *selltext1; 
@property (weak, nonatomic) IBOutlet UILabel *percentage1; 
@property (weak, nonatomic) IBOutlet UILabel *profit1; 
@property (weak, nonatomic) IBOutlet UITextField *royalty; 
@property (weak, nonatomic) IBOutlet UITextField *buytext2; 
@property (weak, nonatomic) IBOutlet UILabel *sell2; 
@property (weak, nonatomic) IBOutlet UITextField *percentagetext2; 
@property (weak, nonatomic) IBOutlet UILabel *profit2; 

-(IBAction)Button; 

- (IBAction)backgroundTouched:(id)sender; 

- (IBAction)textfieldReturn:(id)sender; 

@end 

m。

@implementation ViewController 
     //This is where I keep getting the Semantic Error "Incomplete Implementation" 
@synthesize buytext1; 
@synthesize selltext1; 
@synthesize buytext2; 
@synthesize percentagetext2; 

- (IBAction)backgroundTouched:(id)sender { 
    [buy1 resignFirstResponder]; 
    [sell1 resignFirstResponder]; 
    [buy2 resignFirstResponder]; 
    [percentage2 resignFirstResponder]; 

} 

    - (IBAction)textFieldReturn:(id)sender { 
     [buy1 resignFirstResponder]; 
     [sell1 resignFirstResponder]; 
     [buy2 resignFirstResponder]; 
     [percentage2 resignFirstResponder]; 

} 



int VarBuy1 = 0; 
int VarSell1 = 0; 
int VarProfit1 =0; 
int VarPercentage1 =0; 
int VarRoyalty = 0; 
int VarBuy2 = 0; 
int VarSell2 = 0; 
int VarProfit2 =0; 
int VarPercentage2 =0; 


-(IBAction)Button{ 
    VarBuy1 = ([buy1.text intValue]); 
    VarSell1 = ([sell1.text intValue]); 

    VarProfit1 = (VarSell1 - (VarSell1 * (VarRoyalty/100)) - VarBuy1); 
    VarPercentage1 = (VarProfit1/VarSell1); 
    VarSell2 = (VarBuy2/((100 - VarRoyalty)/100 - VarPercentage2)); 
    VarProfit2 = (VarSell2 - (VarSell2 * VarRoyalty) - VarBuy2); 

    profit1.text = [[NSNumber numberWithInt:VarProfit1] stringValue]; 
    percentage1.text = [[NSNumber numberWithInt:VarPercentage1] stringValue]; 
    sell2.text = [[NSNumber numberWithInt:VarSell2] stringValue]; 
    profit2.text = [[NSNumber numberWithInt:VarProfit2] stringValue]; 
} 

@end 
+0

那么你的大多数属性似乎并不合成 – Mario 2012-08-15 21:15:13

+2

他们不需要在最新版本的编译器中进行合成;这是自动完成的。 – bbum 2012-08-15 21:17:54

+1

错误讯息?调试器停止在哪里?你是通过代码来完成的吗? – Mundi 2012-08-15 21:18:02

回答

3

在.H

- (IBAction)textfieldReturn:(id)sender; 

在.M

- (IBAction)textFieldReturn:(id)sender 

要小心字母大小写。领域和领域。

而没有(id)发送者的IBAction听起来不太好。

+0

你也可以将相同的'IBAction'连接到多个IB元素,所以你不需要两个相同的'IBAction'。 – aforaudrey 2012-08-15 21:19:33

+0

@erkanyildiz纠正了这个错误,但它似乎仍然不是问题。 – 2012-08-15 21:28:12

+0

@rob_bass你还有问题吗?如果是这样的话是什么问题? – aforaudrey 2012-08-15 21:33:15