Нужна помощь с простой ошибкой подсчета в iPhone SDK - PullRequest
1 голос
/ 20 марта 2010

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

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

#import "MainView.h"

@implementation MainView

int count = 0;

-(void)awakeFromNib {

    counter.text = @"0";

}

- (IBAction)addUnit {

    if(count >= 999) return;

    NSString *numValue = [[NSString alloc] initWithFormat:@"%d", count++];
    counter.text = numValue;
    [numValue release];
}

- (IBAction)subtractUnit {

    if(count <= 0) return;

    NSString *numValue = [[NSString alloc] initWithFormat:@"%d", count--];
    counter.text = numValue;
    [numValue release]; 
}
@end

1 Ответ

2 голосов
/ 20 марта 2010

На самом деле первый кран что-то делает.

Вы добавляете сообщение count, поэтому при первом вызове addUnit: count увеличивается, но возвращаемое значение count++ является старым значением count. Вы хотите преинкрементить с ++count.

Пример:

int count = 0;
int x = count++;
// x is 0, count is 1

x = ++count;
// x is 2, count is 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...