Как адаптировать приложение под x64?

Доброе время суток, подскажите пожалуйста, как адаптировать приложение под x64, к примеру пишу:

Для х32
stringNumbersYearsUser = [NSString stringWithFormat:@"%d", [stringTodayYear integerValue] - [stringYearsUsers integerValue] - 1];


Нормально, XCode ничего не говорит, но стоит в симуляторе поменять на iPhone x64 и он предлогает написать так:

stringNumbersYearsUser = [NSString stringWithFormat:@"%ld", [stringTodayYear integerValue] - [stringYearsUsers integerValue]];


Но, потом когда переключаю на x32 - предлогает поменять обратно, так как всё же быть, какие типы данных использовать?

Спасибо за внимание!
  • Вопрос задан
  • 2487 просмотров
Пригласить эксперта
Ответы на вопрос 3
@ins52
Чтобы не было варнингов приводим к 64битному значению и выводим уже его
NSInteger notifyID = 5;
NSLog(@"%ld, (long)notifyID);
Ответ написан
Комментировать
EnterSandman
@EnterSandman
Эникей
Комментировать
@onepavel
Консультация и разработка мобильных приложений
Все дело в размере long в системе. Метод integerValue возвращает NSInteger, который определяется как typedef long NSInteger. Соответственно в 32 битной он 4 байта, а в 64 битной системе 8 байт, для вывода числа большей разрядности нужно менять спецификатор формата. Полагаю, что достаточно оставить ld и забить на ворнинг в 32 бите
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы