gpt4 book ai didi

objective-c - 如何限制Objective C中枚举值的可见性?

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

在 Objective C 中,当你定义一个枚举时,所有的枚举值都是可见的,并且阻塞了全局命名空间。

我想使其成为 Java 风格并强制枚举只能通过枚举类型名称访问,例如和

typedef enum
{
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, NUM_OF
} Day;

我想确保
只需调用 MONDAY产生编译错误或至少警告,并且访问枚举值的唯一方法是类似 Day.MONDAY 的内容。或 Day::MONDAY[Day MONDAY]或者...

在 Java 中,我要么使用枚举,要么使用接口(interface),但这在 Objective-C 中可行吗?

如果没有,那么我必须像这样命名所有枚举: DAY_MONDAY, DAY_TUESDAY...使它们更容易在自动完成弹出窗口中搜索。

最佳答案

这只是一种变通方法,但您可以创建具有多个类方法的自定义接口(interface)(因此无需创建实例),其中每个方法代表一个常量。

这样常量只能按您的要求访问(即 Day.MONDAY[Day MONDAY] )。

关于objective-c - 如何限制Objective C中枚举值的可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7388997/

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