2013-02-20 3 views
-4

У меня возникли некоторые очень неприятные проблемы, так как я уверен, что это очень простая проблема, но я не могу ее исправить. У меня есть NSArray называют окончательным, который выводит следующим образом:Сравнение NSStrings, похоже, не сработало

final = (
".DS_Store", 
"hey.txt" 
) 

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

for (int i = 0; i < [final count]; i++) { 
    if (final[i] != @".DS_Store") { 
    NSLog(@"true"); 
    } 
    else { 
    NSLog(@"false"); 
    } 

Выходы:

2013-02-20 17:20:39.042 myAppName [40636:403] true 
2013-02-20 17:20:39.042 myAppName [40636:403] true 

Я не могу понять, почему первый один не возвращает ложь. Есть идеи?

+0

http://stackoverflow.com/questions/6936129/xcode-ios-compare-strings – trojanfoe

ответ

2

Вы сравниваете указатели. Используйте [final[i] isEqualToString:@".DS_Store"] для сравнения строк.

+0

Да! Я знал, что это простой ответ. Есть ли неравный? Как isNotEqualtoString? –

+0

Нет, нет. Но это просто базовый C/Objective-C. На самом деле это базовое программирование на любом языке, поэтому я дам вам понять, что один для себя. – Sebastian

+0

Спасибо, что сработал! –

Смежные вопросы