对字符串相等性的测试未正确匹配

时间:2012-04-05 06:09:45

标签: objective-c

我有一个字符串数组。该数组是通过将长逗号分隔的字符串解析为多个组件字符串而创建的。我可以NSLog那些组件,它们出现正确。但是,如果我为NSLog将其显示为包含的对象测试其中一个组件,则测试仍然失败:

NSArray*parseLine=[[NSArray alloc] initWithArray:[newline componentsSeparatedByString:@","]];

NSLog(@"*%@*"[parseLine objectAtIndex:1]);

输出:

*N/A*

很清楚“N / A”就在那里,这三个字符完全正确。

然而,这未通过测试:

if ([parseLine objectAtIndex:1]==@"N/A") //never passes

还试过这个:

if ((NSString*)[parseLine objectAtIndex:1]==@"N/A")

为什么不通过考试?

1 个答案:

答案 0 :(得分:2)

==指的是地址指针和字符串。

要检查是否相等,请尝试isEqualToString功能

那将是

if([parseLine objectAtIndex:1] isEqualToString:@"N/A"])