【发布时间】:2011-11-15 09:11:33
【问题描述】:
在 Objective C 中,当你定义一个枚举时,所有的枚举值在任何地方都是可见的,并且会阻塞全局命名空间。
我想让它成为 Java 风格并强制枚举只能通过枚举类型名称访问,例如与
typedef enum
{
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, NUM_OF
} Day;
我想确保
简单地调用MONDAY 会产生编译错误或至少是警告,访问枚举值的唯一方法是Day.MONDAY 或Day::MONDAY 或[Day MONDAY] 或...
在 Java 中我使用枚举或接口,但这在 Objective-C 中可行吗?
如果不是,那么我必须将所有枚举命名为:DAY_MONDAY, DAY_TUESDAY...,以便更容易在自动完成弹出窗口中搜索它们。
【问题讨论】:
标签: objective-c enums namespaces visibility typedef