@implementation ViewController
-(IBAction)ReturnKeyButton:(id)sender {
[sender resignFirstResponder];
}
@synthesize torque, horsepower, rpm, rpmf2;
-(IBAction)Operation1:(id)sender {
float result = 2 * 3.14 *([torque.text floatValue] * [rpm.text floatValue]) / 33000;
answer1.text = [[NSString alloc] initWithFormat:@"%2.f", result];
}
-(IBAction)Operation2:(id)sender {
float result = 2 * 3.14 * ([horsepower.text floatValue] * [rpmf2.text floatValue]) / 33000;
answer2.text = [[NSString alloc] initWithFormat:@"%2.f", result];
}
我想将文本字段格式化为数字。这有效,但它对我的植入answer1.text和answer2.text有警示。问题是线程点最终会中断。这有什么问题?
编辑:
@interface ViewController : UIViewController {
float result;
IBOutlet UILabel *answer1;
IBOutlet UILabel *answer2;
IBOutlet UITextField *torque;
IBOutlet UITextField *rpm;
IBOutlet UITextField *horsepower;
IBOutlet UITextField *rpmf2;
int currentOperation1;
float torque1;
float rpm1;
float horsepower1;
float rpm1f2;
float answer5;
}
-(IBAction)Operation1:(id)sender;
-(IBAction)Operation2:(id)sender;
@property(nonatomic, retain) IBOutlet UITextField *torque;
@property(nonatomic, retain) IBOutlet UITextField *rpm;
@property(nonatomic, retain) IBOutlet UITextField *horsepower;
@property(nonatomic, retain) IBOutlet UITextField *rpmf2;
-(IBAction)ReturnKeyButton;
@end
答案 0 :(得分:5)
第一个错误是因为您将成员变量声明为
float result;
然后在你的方法中你有一个声明为相同的局部变量。因此局部变量屏蔽成员变量。您应该确保名称不会发生冲突。
第二个错误是因为您在标题中声明了一个方法
-(IBAction)ReturnKeyButton:(id)sender
然后你实施
-(IBAction)ReturnKeyButton;
这是两种完全不同的方法,一种称为ReturnKeyButton
,另一种称为ReturnKeyButton:
,注意名称后面的冒号。
要解决此问题,请确保声明符合例如变化
实施中的 -(IBAction)ReturnKeyButton;
到-(IBAction)ReturnKeyButton:(id)sender
答案 1 :(得分:1)
您的问题包含两条警告讯息:
<强> 1。本地声明“”隐藏实例
您拥有ivar属性和同名方法。
e.g。在您的班级中,您有一个名为myProperty
的属性,并在您创建myProperty
的方法中。
一种方法是为方法的变量使用不同的名称。或者在合成中使用别名@synthesize myProperty=_myProperty;
覆盖您的属性。
#您在班级和方法中都有float result
。在方法Operation1:
和Operation2:
如果您使用的是XCode 4.4+,那么编译器synthesize
的属性为_
。
<强> 2。实施不完整 - 需要新鲜
您尚未实现在.h文件中声明的所有方法。
#您尚未在.m文件中实现-(IBAction)ReturnKeyButton;
您已在-(IBAction)ReturnKeyButton:
答案 2 :(得分:0)
可能是你没有使用self调用变量。
尝试像这样打电话
self.torque.text, self.horsepower.text, self.rpm.text, self.rpmf2.text
希望这有帮助!!!