Objective-C: сравнение нормальных строк и строк, найденных в NSMutableArrays - PullRequest
0 голосов
/ 09 апреля 2011

Я запутался в строках (я боюсь, это проблема начинающего):

У меня есть один NSMutableArray, который называется Notebook. В позиции индекса 1 у меня есть объект, который я считаю строкой. По крайней мере, я поместил его в массив так:

[NoteBook replaceObjectAtIndex:1 withObject:@"x-x-x-x"];

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

    NSString *tempDateString;
tempDateString = [NSString stringWithFormat:@"%@",[NoteBook objectAtIndex:1]];

if (tempDateString == @"x-x-x-x") {

        UISampleLabel.text = @"";

    }

По какой-то причине это не работает, т. Е. Даже если строка в позиции 1 моего массива 'x-x-x-x', она все равно не установит для моего UISampleLabel ничего.

Полагаю, меня смущают маркеры @ "". Когда они мне действительно нужны? Почему я не могу просто кодировать tempDateString = [NoteBook objectAtIndex:1]; без необходимости форматирования?

Буду очень признателен за любую помощь и предложения!

Ответы [ 2 ]

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

Вам нужно сравнить строку с isEqualToString :

if ([tempDateString isEqualToString:@"x-x-x-x"]) {
  UISampleLabel.text = @"";
}
1 голос
/ 09 апреля 2011

В дополнение к ответу на вопрос:

Почему я не могу просто кодировать tempDateString = [NoteBook objectAtIndex:1]; без функции форматирования?

Можно. Почему ты думаешь, что не можешь?

...