为什么不是isEqualToString以我认为应该的方式工作?

时间:2011-04-08 12:13:00

标签: iphone objective-c ipad

我正在将UTF-8编码的文本文件加载到数组中。在文本文件的几个地方有空行,没有空格。

在此条件中:

tempstring = [array objectAtIndex:index];
if( [tempstring isEqualToString:@""] == NO ) {
    // do something
}

结果始终为NO。我NSLog字符串,但我没有在空白行的控制台中看到任何字符。 NSLog还显示长度为1的空白行。

如何更正此条件才能正常工作?

3 个答案:

答案 0 :(得分:3)

尝试从NSArray中删除NSString中的空格,然后再进行比较。见这里:Collapse sequences of white space into a single character and trim string

答案 1 :(得分:0)

空白行通常不是完全空白的 - 即使没有其他内容,它们最后仍会有换行符。试试这个:

tempstring = [array objectAtIndex:index];
if( [tempstring isEqualToString:@"\n"] == NO ) {
    // do something
}

答案 2 :(得分:-1)

tempstring = [array objectAtIndex:index];

if([tempstring isEqualToString:@“”] == FALSE&& tempstring!= nil){

// do something

}