我收到错误:
二进制表达式的无效操作数('UITextField')
我的.h看起来像这样:
@interface ViewController : UIViewController{
IBOutlet UILabel *resultLabel;
float result;
IBOutlet UITextField *miles;
IBOutlet UITextField *mpgLoaded;
IBOutlet UITextField *mpgEmpty;
IBOutlet UITextField *fuelCost;
IBOutlet UITextField *payment;
}
-(IBAction)result:(id)sender;
-(IBAction)reset:(id)sender;
@end
错误来自我试图在.m中进行的计算:
-(IBAction)result:(id)sender{
result = payment - ((miles/mpgLoaded)*fuelCost)-((miles/mpgEmpty)*fuelCost);
resultLabel.text = [NSString stringWithFormat:@"%.2f",result];
}
答案 0 :(得分:5)
您需要询问每个UITextField
的值(即text
属性),并将每个值从字符串转换为float。 E.g。
result = payment.text.floatValue - ((miles.text.floatValue / ...
答案 1 :(得分:3)
您需要将UITextField
个对象转换为可以进行算术运算的数字。
UITextField
类的属性为“text”,其中包含表示该字段内容的NSString
。
所以,例如:
NSString *milesString = miles.text;
将其转换为浮动:
float milesValue = [milesString floatValue]
然后,您可以使用milesValue
等进行算术运算。
当然,您可以使用以下方式简化作业:
float milesValue = [miles.text floatValue]