Iphone SDK - Считать приращения на 4 для каждого нажатия кнопки - PullRequest
0 голосов
/ 24 августа 2009

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

Однако целое число (numberOfClicks) увеличивается на четыре каждый раз. Может ли событие происходить более одного раза для каждого касания пользователя?

(кстати, описанный ниже метод действия связан с действием «подправить изнутри»)

- (IBAction)myButtonClicked
{
   numberOfClicks+=1;
   NSString *clicks = [NSString stringWithFormat:@"number of clicks = %d", numberOfClicks];
   myLabel.text = clicks;
}

Большое спасибо, Chris

Ответы [ 2 ]

1 голос
/ 24 августа 2009

Если вы добавляете вызов как NSLog(clicks) и запускаете код, вы получаете сообщение журнала 4 раза?

Подключены ли другие кнопки к этому IBAction?

Вы подключили этот IBAction к нескольким розеткам вашей единственной кнопки - то есть «Подогнать внутри», «Поднять снаружи», «Сенсорное перетаскивание внутри», «Сенсорное перетаскивание снаружи» и т. Д.

0 голосов
/ 13 апреля 2011

NSInteger - это примитив, а не объект! Что вы действительно делаете, так это увеличиваете адрес, на который указывает NSInteger *. Поскольку NSInteger имеет длину 4 байта, каждый раз, когда вы увеличиваете его, компилятор предполагает, что, поскольку он является указателем, вы хотите перейти к следующему NSInteger в памяти, поэтому вы получаете кратные 4. Просто удалите '*', когда вы объявляете NSInteger, и вы должны быть готовы. Таким образом, вместо объявления этого типа int *NameOfDeclaration; просто удалите * Это будет выглядеть так int NameOfDeclaration;

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