gpt4 book ai didi

objective-c - 在 Objective-C 中使用枚举名称作为值标识符

转载 作者:行者123 更新时间:2023-12-04 17:03:01 27 4
gpt4 key购买 nike

引用this post似乎在Objective-C 中没有可能定义两个enum s 与本例中的值相同:

enum AnEnum {
AnyValue
};

enum AnotherEnum {
AnyValue // Error: Redefinition of enumerator 'AnyValue'
};

我想了解为什么有机会为 enum 设置名称的背景s 可用,但显然没有任何可能使用它(例如,在 Java 中通过 AnotherEnum.AnyValue 调用值)。

最佳答案

Objective-C 是 C。An enum是一个 C 枚举。并且没有命名空间。这正是约定将枚举命名为 AnEnumAnyValue 和 AnotherEnumAnyValue 的原因。你会发现所有的 Cocoa 枚举都是这样工作的:

typedef enum {
UIViewAnimationTransitionNone,
UIViewAnimationTransitionFlipFromLeft,
UIViewAnimationTransitionFlipFromRight,
UIViewAnimationTransitionCurlUp,
UIViewAnimationTransitionCurlDown,
} UIViewAnimationTransition;

如果你想要像 Java 这样的范围枚举名称,请切换到 Swift。

关于objective-c - 在 Objective-C 中使用枚举名称作为值标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30426353/

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