Константы приложения, используемые во время компиляции - PullRequest
1 голос
/ 11 мая 2011

В моем приложении много констант, используемых многими классами моего проекта. Эти константы должны быть установлены во время компиляции (они не изменяются позже). На данный момент я использую операторы #define в верхней части каждого класса, требующие константы. Проблема в том, что мне приходится повторять эти утверждения в каждом классе, для которого требуется постоянная.

Я планирую определить все эти константы в моем main.m или в другом .h, импортированном main.m, но я думаю, что это не очень хорошая идея.

-> Существует ли для этой цели механика или файл XCODE / IOS?

-> Если нет, то это хорошая идея определить константы в моем главном.

Спасибо за помощь

kheraud

Ответы [ 4 ]

3 голосов
/ 11 мая 2011

Вы можете записать все константы в любой файл .h, затем вы можете импортировать этот файл в файл projectname_Prefix.pch.

тогда вам не нужно импортировать файл в любой другой исходный файл. его напрямую импортируют.

1 голос
/ 11 мая 2011

вы можете сохранить их в вашем *_Prefix.pch, тогда они будут применяться ко всем классам без импорта другого класса.

0 голосов
/ 11 мая 2011

Вы можете предоставить целевые определения компилятора в XCode, добавив их в настройку сборки Preprocessor Macros. Например, это может позволить вам создать бесплатную версию Lite для вашего приложения, создав для нее цель в своем проекте, а затем добавив определение LITE в макросы препроцессора.

Подробнее см. .

0 голосов
/ 11 мая 2011

Как правило, лучший способ обработки общих констант - это объявить их extern в одном или нескольких выделенных файлах .h, а затем определить их в соответствующих файлах реализации. Таким образом, вы гарантированно будете иметь только одну копию каждой константы в вашем двоичном файле, в отличие от #define.

...