我有一个typedef枚举,用于表示排队系统中作业的状态,并定义为
typedef enum {
kTWjobStateRunning,
kTWjobStateQueued,
kTWjobStateError
}TWjobState;
一切都很好,但现在我想将它作为CoreData中的属性存储。我的第一个想法是枚举基本上是一个整数,所以将TWjobState
包裹在NSNumber
工作中?我是否必须使用强制转换来说服编译器?
最佳实践问题
我经常在Cocoa和Foundation类中看到这种枚举的使用,也使用了bitmasks。是否有更现代,更面向对象的方式来实现同样的目标?
感谢您的帮助。
答案 0 :(得分:9)
在NSNumber
中存储枚举是正确的方法。