比较NSString和整数?

时间:2012-09-10 12:51:40

标签: ios nsstring integer

我有一个字符串,我需要与整数值进行比较。

到目前为止我这样做了:

NSString *rad = [NSString stringWithFormat: @"%@", combo.selectedText];
srchParam.radius = rad;
if (srchparam.radius > 5)
{
    //code here
}

我做错了什么?

6 个答案:

答案 0 :(得分:3)

试试这个:

if ([combo.selectedText intValue] > 5) {
   //code here
}

答案 1 :(得分:1)

srchParam.radius = [rad intValue];

答案 2 :(得分:1)

是。使用<运算符比较NSString将比较其内存地址,而不是神奇的内容(请记住:Objective-C不是C ++,没有运算符重载)。您必须使用

将字符串的数值与另一个整数进行比较
if (([srchparam.radius intValue]) > 5)
{
     // code here
}

另外,请使用空格 - 您的代码将更好,更容易阅读。

答案 3 :(得分:1)

我猜半径在这里是一个整数。因此:

NSString *rad=[NSString stringWithFormat:@"%@",combo.selectedText];
srchParam.radius =[rad intValue];
if((srchparam.radius)>5)
{
 //code here
}

答案 4 :(得分:1)

NSString *rad=[NSString stringWithFormat:@"%@",combo.selectedText];
if([rad intValue]>5)
{
 //code here
}

答案 5 :(得分:0)

多数民众赞成是对的!

if([[srchparam.radius] integerValue] > 5)

此示例使用iOS SDK 6.0在Xcode 4.5中工作,如果您仍在Xcode 4.4上,只需在 intValue 上更改 integerValue