проблема с использованием «count ++»: в первый раз повторяется «0» - PullRequest
1 голос
/ 29 июня 2011

У меня был маленький вопрос:
Я пытался добавить +1 к строке NSString.Первый раз, когда я нажимаю кнопку muButton, она не добавляет +1, а повторяет «0» с начала.Однако второй толчок и последующие толчки к muButton увеличиваются должным образом.Знаете ли вы, что может это исправить?Вот мой код:

 - (IBAction)muButton {  
 if(count >= 999) return;  
 NSString *numValue = [[NSString alloc] initWithFormat:@"%d", count++];
result.text = numValue;
[numValue release];

}

- (void)viewDidLoad {  
result.text = @"0";  
[super viewDidLoad];

}

Спасибо

Ответы [ 2 ]

5 голосов
/ 29 июня 2011

если count == 0

, затем count++ == 0

++count == 1

Вот что происходит, когда вы используете ++ перед параметром, а не после.

c = 0
1 + (++c) == 2
BUT
1 + (c++) == 1
c == 1 AFTERWARDS in both cases 

Когда вы используете предварительное увеличение, ++ происходит немедленно, в отличие от того, используете ли вы дополнительное увеличение, когда это происходит после выполнения операций с параметром.

3 голосов
/ 29 июня 2011
int var = count++;

невероятно равно:

int var = count;
count = count + 1;

может быть, вы хотите использовать это:

int var = ++count;

невероятно похож на:

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