Я столкнулся со странным случаем, когда я передаю длинное длинное значение из вызова метода. В моем приложении я уже работал над этим, но мне любопытно узнать, почему это так.
Может ли кто-нибудь объяснить мне, когда у меня есть метод, как определено:
- (long long)testLong {
NSString* longString = @"100000133597162";
long long retval = [longString longLongValue];
NSLog(@"retval:%lld",retval);
return retval;
}
и я называю метод так:
long long test = [self testLong];
NSLog(@"test:%lld",test);
Результаты:
retval:100000133597162
test:410044394
Мне это кажется странным. Правильное значение выводится внутри метода. Но когда-то вне метода это кажется совершенно другой ценностью. Я прошел через использование отладчика, и он показывает одно и то же - два разных значения. Я просто не могу это объяснить. Кто-нибудь?