【问题标题】:How to store a typedef enum in CoreData如何在 CoreData 中存储 typedef 枚举
【发布时间】:2011-03-28 11:42:35
【问题描述】:

我有一个 typedef 枚举,用于表示排队系统中的作业状态,它被定义为

typedef enum  {
kTWjobStateRunning,
kTWjobStateQueued,
kTWjobStateError
}TWjobState;

一切都很好,但现在我想将它作为一个属性存储在 CoreData 中。我的第一个想法是枚举基本上是一个整数,那么将TWjobState 包装在NSNumber 工作中吗?我必须使用强制转换来说服编译器吗?

最佳实践问题
我经常在 Cocoa 和 Foundation 类中看到这种枚举的使用,以及位掩码的使用。有没有更现代、更面向对象的方法来实现这一目标?

感谢您的帮助。

【问题讨论】:

标签: cocoa core-data enums


【解决方案1】:

将枚举存储在 NSNumber 中是正确的做法。

【讨论】:

  • 虽然如果你修改enum并且假设你在枚举中使用顺序值,它需要更新,你可以使用CoreData的验证系统来设置对应于最大/最小枚举值的上限和下限.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
  • 2015-01-10
  • 2013-12-23
  • 2012-04-19
  • 2012-11-17
  • 2015-01-27
  • 1970-01-01
相关资源
最近更新 更多