dre*_*der 12 xcode objective-c nsmutablearray
我已经使用NSXML Parser在我的程序中使用NSMutableString值填充了NSMutableArray.
我可以使用objectatindex方法成功地从数组中获取结果,但是当我尝试在if()结构中组合该值时,它不起作用,但是NSLog显示它返回了正确的值.继承我日志窗口上的代码和输出:
int Total = 0;
int Adet = 0;
int LPGvolume = 0;
for(int i = 0;i<[yakitArray count];i++)
{
NSMutableString *yakitVal = [NSMutableString stringWithFormat:@"%@",[yakitArray objectAtIndex:i]];
NSLog(@"Yakitval: %@",yakitVal);
if(yakitVal != @"LPG")
{
NSMutableString *volumeVal = [volumeArray objectAtIndex:i];
Total = Total + [volumeVal integerValue];
}
else
{
NSLog(@"LPG Found!");
NSMutableString *volumeVal = [volumeArray objectAtIndex:i];
LPGvolume = [volumeVal integerValue];
}
NSMutableString *adetVal = [adetArray objectAtIndex:i];
Adet = Adet + [adetVal integerValue];
}
Run Code Online (Sandbox Code Playgroud)
并且控制台输出:
2011-01-10 16:58:10.885 iStationTouch3[39393:7907] Yakitval: Value1
2011-01-10 16:58:10.886 iStationTouch3[39393:7907] Yakitval: Value2
2011-01-10 16:58:10.886 iStationTouch3[39393:7907] Yakitval: LPG
2011-01-10 16:58:10.887 iStationTouch3[39393:7907] Yakitval: Value3
2011-01-10 16:58:10.888 iStationTouch3[39393:7907] Yakitval: Value4
2011-01-10 16:58:10.889 iStationTouch3[39393:7907] Yakitval: Value5
Run Code Online (Sandbox Code Playgroud)
即使我可以从控制台窗口看到'yakitVal'值是LPG,程序永远不会进入'Else'部分.
也许我太累了,看不到这个简单的解决方案,但我坚持这个.请帮忙!!.
Ste*_*ton 38
你不能用==和比较字符串!=.从技术上讲,这只是比较指针而不是值,这是你想要做的.
相反,你想要的东西:
if (! [yakitVal isEqualToString:@"LPG"]) {
Run Code Online (Sandbox Code Playgroud)
尝试使用
if (![yakitVal isEqualToString:@"LPG"])
{
...
}
Run Code Online (Sandbox Code Playgroud)
比较字符串值,而不是==或!=.
编辑:否定条件.
| 归档时间: |
|
| 查看次数: |
29012 次 |
| 最近记录: |