Используйте оператор If с именем кнопки в Objective-C (Какао / iPhone SDK) - PullRequest
0 голосов
/ 15 июля 2010

Мне нужно реализовать небольшую функцию в приложении для iPhone, и мне было интересно, есть ли способ использовать оператор if , где условием является строка кнопки.

Вот пример кода, о котором идет речь:

- (IBAction)someMethod:(id)sender{  
UIButton *button = (UIButton *)sender;
if ( button.titleLabel.text == “SomeText” )
{
   //do something
}
else
{
   // some other thing
}

Теперь я не могу заставить его работать, потому что я думаю, что я использую неправильный код в button.titleLabel.text.Я даже пробовал @ «SomeText»), но я всегда в конечном итоге // что-то другое.

Что я делаю не так?

Спасибо.

1 Ответ

1 голос
/ 15 июля 2010

В настоящее время вы сравниваете два указателя с объектами, объектами button.titleLabel.text и @"SomeText". Поскольку оба указывают на разные места в памяти, сравнение вернет NO.

Если вы хотите сравнить значения обоих NSString объектов, вы можете использовать [button.titleLabel.text isEqualToString:@"SomeText"].

Также обратите внимание, что "SomeText" - это не то же самое, что @"SomeText"! Первая - это обычная строка C, где последняя является объектом Cocoa NSString.

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