Как сравнить текст UILable (который связан с UIPickerView) с NSString? - PullRequest
0 голосов
/ 17 декабря 2011

Итак, у меня есть UILabel, который связан с текущим выбранным значением UIPickerView.

У меня также есть кнопка, которая при нажатии вызывает метод, который считывает значение из этого UILabel, сравнивает его с указанным NSString и в соответствии с этим сравнением и выполняет или не выполняет действие.

if (myLabel.text == @"sample text") {
  // code that does something 
}

Однако, несмотря на то, что текст метки и текст, который я сравниваю, кажутся идентичными, он не проходит проверку.

Надеюсь, это было достаточно ясно.

Ответы [ 2 ]

2 голосов
/ 17 декабря 2011

Сравнение строк

if([myLabel.text isEqualToString:@"sample text"])
{
//code
}
1 голос
/ 17 декабря 2011

В Objective-C вы не можете напрямую сравнивать строковые указатели, это почти никогда не работает.Вместо этого вам нужно использовать метод isEqualToString: для NSString, например:

if( [myLabel.text isEqualToString:@"sample text"] ) {
  // do something
}

Подробнее о работе со строками, в частности их сравнении, см. Поиск,Сортировка и сравнение строк в Руководство по программированию строк .

...