Я использовал typedef NS_ENUM для реорганизации констант данных в старом коде. Используя найденный здесь подход , каждый typedef объявляется в одном файле .h, который может быть импортирован в любой класс проекта. Содержимое файла .h помещается в сообщение компилятору. Это хорошо работает для переменных int.
MYCharacterType.h
    #ifndef MYCharacterType_h
    #define MYCharacterType_h 
    typedef NS_ENUM(NSInteger, MARGIN)
    {
        MARGIN_Top                          =  10,
        MARGIN_Side                         =  10,
        MARGIN_PanelBaseLine                =   1
    };
    ...
    #endif /* SatGamEnumType_h */
Но Xcode жалуется, когда я пытаюсь включить float variables
"Неинтегральный тип NSNumber является недопустимым базовым типом
например.
    typedef NS_ENUM(NSNumber, LINE_WIDTH) {
        LINE_WIDTH_Large                    = 1.5,
        LINE_WIDTH_Medium                   = 1.0,
        LINE_WIDTH_Small                    = 0.5,
        LINE_WIDTH_Hairline                 = 0.25
    };
Я получаю то же сообщение, использую ли я NSValue или NSNumber, поэтому я подозреваю, что typedef NS_ENUM не способ определить переменные float (или, по крайней мере, так, как я его использую).
Подход в этом ответе позволил бы мне делать то, что я уже организовал в одном файле, но не предлагает способ реорганизации переменных float в тот же файл. Может кто-нибудь объяснить, как это сделать, чтобы все переменные были определены в одном файле .h независимо от их типа? Благодаря
РЕШЕНИЕ
Это был ответил rmaddy после того, как я подошел к вопросу по-другому.
