swift - 在核心数据实体中使用枚举类型值

标签 swift xcode core-data

如何在核心数据实体属性中使用枚举类型值?除了选择可变形。

最佳答案

您无法直接存储枚举类型,因为 Core Data 不理解 Swift 枚举。您需要声明枚举具有某种原始值,并将原始值保存在 Core Data 中。类似的东西

enum Bar : Int {
    case bar1;
    case bar2;
}

let myBar = Bar.bar1

// Then save myBar.rawValue in Core Data as an integer type

读取时,从Core Data中获取整数值,并将其转换为枚举

let rawValue = managedObject.bar
let value = Bar(rawValue: rawValue)

关于swift - 在核心数据实体中使用枚举类型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40370848/

相关文章:

swift - ObjectMapper 如何在 Swift 中映射时更改数据类型

ios - iPhone X 主页指示器行为

ios - 尽可能使用元组与结构时是否有性能/编译器优势?

ios - 如何将 UILabel 放在 SKSpriteNode 后面

ios - Xcode - 将图像添加到测试中?

ios - 有什么最简单的方法可以在 iOS 中实现所有必需的协议(protocol)方法吗?

ios - Realm 用 Swift 4.0 编译的 Swift 模块无法在 Swift 4.0.2 中导入

ios - 数组不删除重复项

swift - 在 Picker Swift 上数组选择第一个数据

iphone - 核心数据`deleteObject:`问题!