2014-01-20 174 views
0

我试图让一个年龄计数器,但在第一行的错误:无效操作数的二进制表示(“廉政”和“的NSString”)

“无效操作数为二进制表达式( “廉政”和“的NSString”)”

-(IBAction)OK:(id)sender; { 
    Age = 2013 - textfield.text ; 
    label.text = [NSString stringWithFormat:@"%i" , Age]; 
+0

BTW,标准编码习惯是有变量和方法名以小写字符开头 - - 使用以大写字母开头的名字作为类名。如果你遵循这个约定,你的代码对于其他人来说更容易理解。 –

回答

1

你需要采取文字的整数值,然后你可以用它做减法。但是,如果字符串不能转换为int(例如“this”不是int ...),则NSString的intValue可能会返回0。

-(IBAction)OK:(id)sender; { 
    Age = 2013 - [textfield.text intValue] ; 
    label.text = [NSString stringWithFormat:@"%i" , Age]; 
} 
0

你在这里犯了一个小错误。您是从整数在此减去字符串值:

Age = 2013 - textfield.text ; 

使用,而不是上面这行:

int Age = 2013 - [textfield.text intValue] ; 
相关问题