使用在Objective C中的另一个类中声明的enum数据类型

Fri*_*tam 9 enums objective-c

我有一个DataClass.h

@interface DataClass : NSObject
{
}

enum knownTypes
{
    type1 = 0,
    type2,
    type3,
    UnknownType = -1
};
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在.m文件中指定knownTypes并从其他类访问.

这是我正在创建的Util类,因此不希望创建一个对象来访问此类中的值.

例如:在TestClass.m中,通过导入DataClass.h,现在我可以将枚举值用作type1,type2 ..但是如果我在DataClass.m中声明枚举数据,我就无法使用这些枚举值.

mou*_*iel 17

这与课程无关.这是C的一个特征.

如果在.h文件中定义类型或枚举,可以通过#import在需要的地方导入()来使用它.

如果在.c.m文件中定义枚举,则只有文件中该定义之后的元素才能使用它.

在您的情况下,您似乎需要在两个不同的文件中使用相同的枚举.用法是在单独的文件中定义枚举,例如,knownTypes.h并使用它在两个文件中导入该文件:DataClass.mTestClass.m.

如果TestClass是用于测试目的,那么当前的组织是OK:枚举中声明DataClass.h,并都DataClass.mTestClass.m进口DataClass.h.