二进制表达式的操作数无效('int'和'NSString')

时间:2014-01-20 17:12:16

标签: ios objective-c nsstring int

我正在尝试创建一个Age计数器,但第一行出错:

  

“二进制表达式的操作数无效('int'和'NSString')”

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

2 个答案:

答案 0 :(得分:1)

您需要获取文本的整数值,然后您可以使用它进行减法。但是如果字符串不能转换为int,则NSString的intValue可能返回0(例如"这"不是int ...)。

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

答案 1 :(得分:0)

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

Age = 2013 - textfield.text ; 

使用此代替以上行:

int Age = 2013 - [textfield.text intValue] ;