Почему isEqualToString не работает так, как я думаю? - PullRequest
1 голос
/ 08 апреля 2011

Я загружаю текстовый файл в кодировке UTF-8 в массив.В нескольких местах в текстовом файле есть пустые строки без пробелов.

В этом условии:

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

Результат всегда НЕТ.Я NSLog строки, но я не вижу символов в консоли на пустых строках.NSLog также показывает пустые строки, имеющие длину 1.

Как я могу исправить это условие для работы?

Ответы [ 3 ]

3 голосов
/ 08 апреля 2011

Попробуйте удалить пробел из строки NSSt из массива NSArray, прежде чем сравнивать его.Смотрите здесь: Сверните последовательности пробелов в один символ и обрежьте строку

0 голосов
/ 08 апреля 2011

Пустые строки обычно не являются полностью пустыми - в конце они по-прежнему имеют новую строку, даже если у них больше ничего нет. Попробуйте это:

tempstring = [array objectAtIndex:index];
if( [tempstring isEqualToString:@"\n"] == NO ) {
    // do something
}
0 голосов
/ 08 апреля 2011

tempstring = [массив objectAtIndex: индекс];

if ([tempstring isEqualToString: @ ""] == FALSE && tempstring! = Nil) {

// do something

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...