我有一个字符串需要与整数值进行比较。
到目前为止我这样做了:
NSString *rad = [NSString stringWithFormat: @"%@", combo.selectedText];
srchParam.radius = rad;
if (srchparam.radius > 5)
{
//code here
}
我究竟做错了什么 ?
试试这个:
if ([combo.selectedText intValue] > 5) {
//code here
}
srchParam.radius = [rad intValue];
是的。使用运算符比较 NSString<
将比较它的内存地址,而不是神奇地比较它的内容(记住:Objective-C 不是 C++,没有运算符重载)。您必须使用将字符串的数值与另一个整数进行比较
if (([srchparam.radius intValue]) > 5)
{
// code here
}
另外,请使用空格 - 您的代码会更好,更容易阅读。
我猜半径在这里是一个整数。因此 :
NSString *rad=[NSString stringWithFormat:@"%@",combo.selectedText];
srchParam.radius =[rad intValue];
if((srchparam.radius)>5)
{
//code here
}
NSString *rad=[NSString stringWithFormat:@"%@",combo.selectedText];
if([rad intValue]>5)
{
//code here
}
那是对的!
if([[srchparam.radius] integerValue] > 5)
如果您仍在使用 Xcode 4.4,则此示例在 Xcode 4.5 和 iOS SDK 6.0 中工作,只需更改intValue上的integerValue 即可。