我已经开始学习iOS开发.
我想在我的示例项目中使用枚举.
我已经在sample.h中声明了枚举,如下所示.我希望我已经正确地宣布了.
typedef enum{s=1,m,t,w,th,f,sa} days;
我想在viewController.m中使用这个.在viewController.h中,我导入了sample.h.
我想使用名为“days.sa”的枚举.但是我在谷歌搜索的更多代码,他们说像在“sample.h”中创建一个实例变量
@interface Sample:NSObject { days d; }
如果我想使用这种方式,我需要创建和使用实例.但我不想这样.
我需要使用像
days.d or days.sa or days.th
如何做到这一点,这个必须用于整个项目和
如何创建枚举作为类变量而不是实例变量?
解决方法
在你创建的枚举中,s,m等现在全球可用(即导入sample.h的任何东西).例如,如果你想要对应于星期六的整数,它只是sa,而不是days.sa.我觉得你是混乱的枚举与结构.
因此,最好在您的枚举中使用更详细的名称.就像是:
typedef enum { WeekdaySunday = 1,WeekdayMonday,WeekdayTuesday,WeekdayWednesday,WeekdayThursday,WeekdayFriday,WeekdaySaturday } Weekday;
所以例如WeekdayMonday现在只是在您的应用程序中写入2的另一种方法,但会使您的代码更易于阅读,并为“Weekday”类型的变量预先定义可能的合法值.
以上是好的,但为了更好的编译器支持,并确保一个平日的大小,我建议使用NS_ENUM:
typedef NS_ENUM(NSInteger,Weekday) { WeekdaySunday = 1,WeekdaySaturday };