iOS: сравнить нажатую кнопку с меткой текста - PullRequest
1 голос
/ 29 января 2012

У меня есть простая функция, чтобы увидеть, совпадает ли нажатая кнопка с текстом метки:

- (IBAction) checkIt:(id)sender{
    UIButton *button = (UIButton *)sender;

    if(button.getText() == randomNumber.text){
        randomNumber.text = @"Nice.";
    }
    else{
        randomNumber.text = @"Try Again";
    }
}

Где «randomNumber» - метка.Тем не менее, это не работает.Я новичок в Cocoa / Objective-C, и я не уверен, каков правильный синтаксис.

Я открыт для любой дополнительной информации, которую вы хотели бы / считаете полезной для идиотов, подобных мне.:)

Для этой функции назначены четыре кнопки: Корова, Свинья, Лягушка, Овца.Метка randomNumber рандомизирована из массива строк "Cow, Frog" ...

1 Ответ

1 голос
/ 29 января 2012
if(button.getText() == randomNumber.text)

Это никогда не сработает, потому что это неправильный способ сравнения строк.'==' сравнивает только адрес памяти, метод NSString isEqualToString фактически сравнивает строки.

Кроме того, я бы получил текст кнопки, используя свойство titleLabel.text.Итак, я бы попробовал так:

- (IBAction) checkIt:(id)sender{
    UIButton *button = (UIButton *)sender;

    if([button.titleLabel.text isEqualToString:randomNumber.text]){
        randomNumber.text = @"Nice.";
    }
    else{
        randomNumber.text = @"Try Again";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...