在Objective C中使用enum数据类型

Fri*_*tam 0 enums objective-c

我已经声明了一个enum数据类型:

typedef enum TagTypes
{
   BUTTON_TAG_1 = 1,
   BUTTON_TAG_2,
   BUTTON_TAG_3,
   NEW_TAG

}ButtonTag;

typedef enum TagType
{
   LABEL_TAG_1 = 1,
   LABEL_TAG_2,
   NEW_TAG
}LabelTag;
Run Code Online (Sandbox Code Playgroud)

我希望通过此标记值找到按钮或标签的相应标记

(clickedbutton.tag == ButtonTag.BUTTON_TAG1) 要么 (changingLabel.tag == LabelTag.LABEL_TAG_1)

但是这个语法在Obj C中似乎不可能,它会引发错误,说出预期的标识符或")"

有没有办法可以通过指定tagDatatype来选择tagNames:

LabelTag.LABEL_TAG_2, ButtonTag.BUTTON_TAG2, ...
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

clickedbutton.tag == BUTTON_TAG1会起作用,但我更喜欢像tagName.tagValue一样使用它,这样我就可以在不同的标签集中使用相同的tagValues,在LabelTag和ButtonTag中都使用tagValue"NEW_TAG".

Jes*_*mos 5

我相信它遵循与你刚写的C相同的约定

if (clickedbutton.tag == BUTTON_TAG1)
Run Code Online (Sandbox Code Playgroud)

没有指定枚举类型.您只需在其变量时指定类型.