如果可能,如何在Objective-C中声明结构的typedef枚举

如果可能,如何在Objective-C中声明结构的typedef枚举,objective-c,c,Objective C,C,为了能够将职位限制在可用职位列表中,我尝试了以下声明: typedef enum { feedbackPositionMiddle = {20.f,80.f}, feedBackPositionTop = {20.f,40.f}, feedBackPositionBottom = {20.f,120.f} } feedBackPosition; 然而,该准则似乎不被接受。它是遗漏了什么还是根本不可能 您只能声明整数类型的枚举,因此这里不允许使用struct或任何

为了能够将职位限制在可用职位列表中,我尝试了以下声明:

typedef enum
{
    feedbackPositionMiddle = {20.f,80.f},
    feedBackPositionTop    = {20.f,40.f},
    feedBackPositionBottom = {20.f,120.f}

} feedBackPosition;

然而,该准则似乎不被接受。它是遗漏了什么还是根本不可能

您只能声明整数类型的枚举,因此这里不允许使用struct或任何其他复合类型。在您的情况下,const CGPoint可能是最好的选择:

const CGPoint kFeedbackPositionMiddle = {20.f,80.f};
...

好消息是你可以用Swift来做。坏消息是你不能在ObjC/C++@BryanChen中这样做,afaik在swift中你只能以文本的形式为enum提供原始值,因此在swift eitherha中创建“enum MyPoint:CGPoint”是不可能的……谁会认为文档是正确的:)根据我读到的内容,如果我记得很清楚,enum可以是任何类型的,甚至。。不,这是一个可以打开的开关anything@Vladimir是,仅作为文本。然而,可以编写扩展来将文本转换为cgpoint。实际上,我的问题更像是我们是否可以创建非整数类型的枚举。谢谢,我想避开警察。。。