NSNumber не является целым числом.Это обертка объекта для числа, которое может быть целым числом.
Переменная LoopNumber фактически является указателем на место в памяти, где должен находиться объект.Все, что содержит LoopNumber - это адрес памяти, который на вашей машине имеет длину 4 байта.Когда вы делаете LoopNumber ++, вы вводите указатель в арифметику с указателем, и он переходит к следующему адресу памяти, который составляет четыре байта позже.Вы можете увидеть это, выполнив sizeof (LoopNumber), который в вашей системе вернет 4.
Что вы действительно хотите сделать, так это использовать обычное целое число, например:
NSUInteger loopNumber;
for(loopNumber = 0; loopNumber <= 5; loopNumber++) {
NSLog(@"%d",loopnumber);
}
если вам действительно нужно использовать NSNumbers:
NSNumber loopNumber;
for(loopNumber = [NSNumber numberWithInt:0]; [loopNumber intValue] <= 5; loopNumber=[NSNumber numberWithInt:[loopNumber intValue]++]) {
NSLog(@"%d",loopnumber);
}