0

我有一个字符串数组。该数组是通过将一个以逗号分隔的长字符串解析为几个组件字符串来创建的。我可以 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")

为什么它没有通过测试?

4

1 回答 1

2

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

检查相等性 tryisEqualToString函数

所以那将是

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

于 2012-04-05T06:11:31.907 回答