Почему класс NSNumber неправильно преобразовывает мой объект NSString в long long

Я пытаюсь преобразовать объект NSString в NSNumber с тем же числовым значением. Когда я создаю объект NSString с помощью этого оператора ...

NSString *songID = [localNotif.userInfo objectForKey:@"SongID"];

var songID содержит строковое значение @ "10359537395704663785" . и когда я пытаюсь преобразовать его в объект NSNumber с помощью инструкции ...

NSNumber *songIDNumber = [NSNumber numberWithLongLong:[songID longLongValue]];

переменная songIDNumber содержит неверное значение 9223372036854775807

Что я делаю неправильно? Также может быть стоит отметить, что иногда этот код работает и выдает правильное значение NSNumber, но в большинстве случаев он терпит неудачу, как показано выше.

Заранее спасибо за вашу помощь!

ОБНОВЛЕНИЕ: Боже, я люблю этот сайт! После перенаправления куки ...

В моем проекте asp.net-mvc у меня есть AccountController, который при входе в систему устанавливает куки с пользовательскими настройками для Request.Response, а затем выполняет RedirectToAction. После перенаправления cookie-файлы сбрасываются, поэтому я теряю свои настройки.

Единственное решение, которое я могу придумать, - это добавить данные из cookie-файла в tempdata, а затем извлечь их позже в целевом действии RedirectToAction. Это немного отклоняется от курса ...

Это обычная практика? Нет лучшего решения? Должен ли я обращаться с моими печеньями по-другому?

8
задан Boris Callens 1 September 2010 в 21:25
поделиться