我用过typedef NS_ENUM
重新组织旧代码中的数据常量。使用方法在这里找到 https://stackoverflow.com/a/42009056/2348597 every 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
变量
“非整数类型‘NSNumber’是无效的基础类型’
e.g.
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
or NSNumber
所以我怀疑typedef NS_ENUM
不是定义的方式float
变量(或者至少是我使用它的方式)。
该方法在这个答案中 https://stackoverflow.com/a/4932351/2348597只允许我做我已经在一个文件中组织的事情,但不提供一种重新组织的方法float
同一文件中的变量。有人可以解释一下如何做到这一点,以便所有变量都定义在一个中.h
文件无论其类型如何?谢谢
SOLUTION
这是rmaddy 回答了 https://stackoverflow.com/a/44252396/2348597在我以不同的方式处理这个问题之后。