NSInteger различия между CLI и GUI? - PullRequest
1 голос
/ 27 мая 2010

Я собираю фреймворк и пишу модульные тесты в GHUnit. Один из методов доступа моей платформы возвращает NSInteger.

Я утверждаю ожидаемое значение в тестах, как это:

GHAssertEquals(1320, request.port, @"Port number should be 1320");

При выполнении моих тестов с интерфейсом на основе пользовательского интерфейса AppKit это утверждение проходит.

Однако, когда я запускаю свои тесты в командной строке, они терпят неудачу с несоответствием типов, если я не произвожу свой жесткий код 1320 как (NSInteger). В чем причина разницы в интерпретации целого числа компилятором? Использует ли xcodebuild в командной строке другой тип данных для жестко запрограммированных целых чисел?

1 Ответ

2 голосов
/ 27 мая 2010

Вы создаете свои приложения для разных архитектур (возможно, потому что один строит универсальный, а другой строит для одной архитектуры)? NSInteger строится как 32-битный или 64-битный в зависимости от целевой архитектуры ( src ), которая может отличаться от того, что компилятор выбирает для небольшой константы. Актерский состав, безусловно, проясняет ваши намерения.

...