gpt4 book ai didi

objective-c - Objective-C - "typedef"什么时候应该在 "enum"之前,什么时候应该命名枚举?

转载 作者:太空狗 更新时间:2023-10-30 03:17:51 25 4
gpt4 key购买 nike

在示例代码中,我看到了这个:

typedef enum Ename { Bob, Mary, John} EmployeeName;

还有这个:

typedef enum {Bob, Mary, John} EmployeeName;

还有这个:

typedef enum {Bob, Mary, John};

但是对我来说成功编译的是这样的:

enum {Bob, Mary, John};

我将该行放在 @interface 行上方的 .h 文件中,然后当我将该 .h 文件#import 到另一个类的 .m 文件中时,那里的方法可以看到枚举。

那么,什么时候需要其他变体?

如果我可以将枚举命名为 EmployeeNames,然后,当我键入“EmployeeNames”后跟“.”时,如果弹出一个列表显示枚举选项是什么,那就太好了。

最佳答案

在 C 语言(以及 Objective C)中,每次使用枚举类型时都必须以 enum 为前缀。

enum MyEnum enumVar;

通过创建 typedef:

typedef MyEnum MyEnumT;

你可以写更短的:

MyEnumT enumVar;

替代声明在一个声明中声明枚举本身和 typedef。

// gives the enum itself a name, as well as the typedef
typedef enum Ename { Bob, Mary, John} EmployeeName;

// leaves the enum anonymous, only gives a name to the typedef
typedef enum {Bob, Mary, John} EmployeeName;

// leaves both anonymous, so Bob, Mary and John are just names for values of an anonymous type
typedef enum {Bob, Mary, John};

关于objective-c - Objective-C - "typedef"什么时候应该在 "enum"之前,什么时候应该命名枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2569274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com