#define против const и связывание с фреймворками - PullRequest
0 голосов
/ 05 ноября 2011

У меня очень маленькое легкое приложение, которое должно использовать некоторые константы, которые хранятся в более крупной структуре.Я не хочу дублировать эти константы и жестко их кодировать в облегченное приложение, но я также не хочу связываться с большой структурой, чтобы просто получить константы.

Константы определены с использованием static NSString *const в заголовочном файле.Неужели замена static NSString *const на #define мешает мне ссылаться на весь фреймворк?

Если честно, я не совсем уверен, как работает связывание, поэтому я, вероятно, думаю об этом неправильно

1 Ответ

1 голос
/ 05 ноября 2011

Да, если вы # определяете константы, вам просто нужно # импортировать файл .h, который их содержит.

Вы должны знать, что #defined константы являются буквенными текстовыми подстановками - у них нет «типа» и т. Д., Как в статических значениях const.

Но другой вариант (только для целочисленных констант) - определить перечисления в стиле C в файле .h.

...