Не имеют правильный синтаксис при сравнении строк в iPhone - PullRequest
0 голосов
/ 21 декабря 2009

Я пытаюсь сравнить следующие значения:

 gType = [[UILabel alloc]init];
 if (gType = [NSString string:@"BUSINESS"]) {

Я получаю предупреждение о том, что 'NSString' может не отвечать на '+ string:'

Я не уверен, что не так. gType - это значение, которое я заполняю из запроса базы данных. Другие текстовые значения из того же запроса хорошо отображаются в UITableView, поэтому я уверен, что создал его правильно.

ТНХ,

Ответы [ 4 ]

1 голос
/ 21 декабря 2009

Вы ищете:

if ([someString isEqual:@"Something else"]) { ... }
1 голос
/ 21 декабря 2009

Ваш код вызывает метод класса "String" для класса NSString. Это не принимает никаких аргументов, что является вашей проблемой здесь.

Правильный способ написания вашего кода будет выглядеть примерно так:

if ([gType.text isEqualToString:@"BUSINESS"])
1 голос
/ 21 декабря 2009

Для начала, = является оператором присваивания в C и ничего не сравнивает. Во-вторых, даже если бы вы использовали там оператор сравнения, вы бы сравнивали адреса указателей, а не текстовое содержимое объектов.

Читать это

0 голосов
/ 21 декабря 2009

Как сказал NSD, у вас есть несколько фундаментальных проблем с вашим кодом.

Если вы хотите сравнить строки в Cocoa Touch, вы можете использовать метод -isEqualToString: в NSString.

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