1

整数値と比較する必要のある文字列があります。

私はこれまでにこれを行いました:

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

私は何を間違っているのですか?

4

6 に答える 6

3

これを試して:

if ([combo.selectedText intValue] > 5) {
   //code here
}
于 2012-09-10T13:36:45.250 に答える
1
srchParam.radius = [rad intValue];
于 2012-09-10T12:52:28.783 に答える
1

はい。演算子を使用して NSString を比較すると、<その内容が魔法のように比較されるのではなく、メモリ アドレスが比較されます (Objective-C は C++ ではなく、演算子のオーバーロードがないことに注意してください)。を使用して、文字列の数値を他の整数と比較する必要があります

if (([srchparam.radius intValue]) > 5)
{
     // code here
}

また、空白を使用してください。コードがより読みやすくなります。

于 2012-09-10T12:54:22.627 に答える
1

ここでは半径は整数だと思います。したがって :

NSString *rad=[NSString stringWithFormat:@"%@",combo.selectedText];
srchParam.radius =[rad intValue];
if((srchparam.radius)>5)
{
 //code here
}
于 2012-09-10T12:54:33.147 に答える
1
NSString *rad=[NSString stringWithFormat:@"%@",combo.selectedText];
if([rad intValue]>5)
{
 //code here
}
于 2012-09-10T12:55:00.340 に答える
0

それは正しいでしょう!

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

Xcode 4.4 を使用している場合、iOS SDK 6.0 を使用して Xcode 4.5 で動作するこの例は、 intValue の integerValue を変更するだけです。

于 2012-09-10T12:55:14.003 に答える