Я новичок в Objective-C и, вероятно, очень легко решить, но не смог найти ответ везде ....Добавление +1 к переменному по нажатию кнопки добавления неправильного номера
Я пытаюсь добавить +1 к переменной каждый раз, когда пользователь нажимает на кнопку, но вместо добавления +1 добавляет +4
- (IBAction)addNewSet:(UIButton *)sender {
NSLog(@"%i",_sliderTag);
_sliderTag += 1;
NSLog(@"ADD NEW %i",_sliderTag);
}
_sliderTag
это уже NSInteger
:
@property (nonatomic,assign) NSInteger* sliderTag;
Первые NSLog
отпечатки 0
и 2-й после добавления выполняется отпечатки 4
. Может ли кто-нибудь объяснить, почему? Он предназначен для печати 0
первого, поскольку точкой этой переменной является счетчик для установки тегов.
Поскольку вы указали sliderTag как указатель, а не int. Даже не нужно было смотреть на объявление своей собственности, чтобы сказать это. –
Как говорили другие в своих ответах, вы используете указатель на 'NSInteger'. 'NSInteger' не является классом (как он указывает), а typedef для чего-то очень похожего на int. – HAS
@HAS - Это не класс или нет, это то, является ли это указателем или нет. Когда вы увеличиваете указатель в C, вы увеличиваете размер элемента, на который указывает. Не следует использовать указатель, в котором предназначен int. –