сравнение значений объекта int и числа не работает? - PullRequest
0 голосов
/ 20 января 2012

Я пишу приложение, которое принимает пользовательский ввод (из UITextView), а затем сравнивает ввод с предопределенным значением.Все входные данные из текстовых полей должны быть числами, поэтому я использую этот код для преобразования строки NSString в значение int при нажатии кнопки.

(возраст - текстовое представление)

NSString *ageString = age.text;
int ageInt = [ageString intValue];

Затем я использую этот код для сравнения текста с предопределенным списком чисел

if (ageInt > 12) {
    label1.textColor = [UIColor greenColor];}
else {
    label1.textColor = [UIColor redColor];
}

Когда я запускаюВ приложении все работает, и я не получаю ошибок, однако, когда я ввожу значение в textView «age», которое больше, чем предопределенное значение (скажем, 13), оно по-прежнему становится меткой 1 красным.

Суть этой проблемы заключается в том, что при сравнении значения оно сравнивается некорректно.Мне любопытно, если кто-нибудь знает, почему это так?Возможно, я использую неправильные классы?

1 Ответ

1 голос
/ 20 января 2012

NSLog ageInt:

NSLog(@"age.text: %s, ageInt: %d", age.text, ageInt);

сразу после:

int ageInt = [ageString intValue];

Это должно показать проблему, что ageInt не совсем> 12 и почему.1010 *

Если ageInt> 13, то либо код настройки цвета не вызывается, либо цвет сбрасывается после вызова.

Добавьте некоторые точки останова в Xcode и убедитесь в правильности установки цветавызывается - и значение ageInt в этой точке.

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