Проблема сложения Integer xCode - PullRequest
0 голосов
/ 29 марта 2011

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

Это просто маленькая часть, и когда я печатаю целое число, я получаю: 0 4 8 12 16 ...

Код, который я использую:

    int *iInt=0;
for (Books *booktitles in appDelegate.book_sos.books ) {
    iInt =(int*)iInt + 1;
    NSLog(@"AAAAAAA%d",iInt);

}

Я пыталсяэто с NSNumber, NSInteger.

Кто-то знает, где я могу ошибаться?Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 29 марта 2011

Потеряйте звездочку в декларации iInt и не приводите к int*. Звездочка означает, что переменная является указателем на данный тип, и когда вы увеличиваете указатель, он увеличивается на размер указателя или на 4 байта в этом случае. Ваш код должен выглядеть так:

int iInt=0;
for (Books *booktitles in appDelegate.book_sos.books ) {
    iInt =(int)iInt + 1;
    NSLog(@"AAAAAAA%d",iInt);

}

См. Цель-C: Как 7-1 = 3? для другой версии того же вопроса.

Обратите внимание, что это основной вопрос C; это не имеет ничего общего с Xcode или Objective-C. Вы получите аналогичный результат с любым компилятором C на любой платформе.

0 голосов
/ 29 марта 2011

Вы создаете указатель на int, а не int. Не делай этого.

int iInt=0;
for (Books *booktitles in appDelegate.book_sos.books ) {
    iInt = iInt + 1;
    NSLog(@"AAAAAAA%d",iInt);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...