Вычтите одно из целого числа, отображаемого в UILabel - PullRequest
0 голосов
/ 30 июля 2011

У меня есть UILabel, который добавляет единицу к его значению - в основном это считается - при нажатии кнопки.Может ли кто-нибудь помочь мне с кнопкой минус?Таким образом, если пользователь случайно нажмет кнопку «Добавить» больше, чем ему нужно, он может вычесть свою ошибку.Я пробовал это, но текст метки теперь установлен в -1.и я хочу, чтобы он просто вычитал по одному при каждом нажатии:

- (IBAction)subtractButton:(id)sender {
    static int integerSaved;
    integerSaved = integer;
    integerSaved -= 1;
    [label2 setText:[NSString stringWithFormat:@"%i", integerSaved]];
}

Ответы [ 3 ]

3 голосов
/ 30 июля 2011

Попробуйте это:

- (IBAction)subtractButton:(id)sender {
[label2 setText:[NSString stringWithFormat:@"%d",[label2.text intValue] - 1]];
}
1 голос
/ 30 июля 2011
-(void)subtract
{
   label2.text = [NSString stringWithFormat:@"%d", [label2.text intValue]-1];
}

В этом коде предполагается, что вы не используете Interface Builder и что вы вручную связываете «вычитать» с UIButton.Если вы используете Interface Builder, попробуйте этот код.

-(IBAction)subtract:(id)sender
{
   label2.text = [NSString stringWithFormat:@"%d", [label2.text intValue]-1];
}

Я не проверял это, но я думаю, что он должен работать.Удачи!

0 голосов
/ 30 июля 2011

Использование значения экземпляра UIView для арифметики не является путём MVC . Вы действительно должны отделить вашу модель данных от вашего представления.

Предоставьте свойство int, NSInteger или NSNumber в каком-либо классе, где этот класс предназначен для хранения значений данных для вашего приложения.

Когда для данной кнопки наступает событие касания, увеличивайте свойство data и запускайте уведомление, которое обновляет представление в зависимости от того, что находится в свойстве. Или добавьте наблюдателя к свойству. Затем наблюдатель обновляет представление при изменении значения свойства.

Следование шаблону MVC было бы более "яблочным" или "iOS" -советым способом выполнения вещей, чем получение значения UIView, преобразование его в целое число, а затем преобразование его обратно в строка.

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