Простой способ для констант типа значения, таких как целые числа, состоит в использовании enum hack , как подсказал unbeli.
// File.h
enum {
SKFoo = 1,
SKBar = 42,
};
Одним из преимуществ по сравнению с extern
является то, что все это разрешается во время компиляции, поэтому для хранения переменных не требуется памяти.
Другой метод - использовать static const
, который должен был заменить взлом enum в C / C ++.
// File.h
static const int SKFoo = 1;
static const int SKBar = 42;
Быстрое сканирование заголовков Apple показывает, что метод взлома enum представляется предпочтительным способом сделать это в Objective-C, и я на самом деле считаю его чище и использую его сам.
Кроме того, если вы создаете группы параметров, вам следует рассмотреть возможность использования NS_ENUM
для создания безопасных для типов констант.
// File.h
typedef NS_ENUM(NSInteger, SKContants) {
SKFoo = 1,
SKBar = 42,
};
Более подробная информация о NS_ENUM
и его двоюродном брате NS_OPTIONS
доступна по адресу NSHipster .