如何使用枚举值作为 GRDB 记录中的列?
How to use enum values as columns in a GRDB Record?
我想记录4种不同的类型。我有以下代码
import GRDB
enum RecordType: Int16 {
case video, image, text, rep
}
extension RecordType: DatabaseValueConvertible {}
struct Record: Codable, FetchableRecord, PersistableRecord {
var id: Int64?
var type: RecordType
}
现在它抱怨Type 'Record' does not conform to protocol 'Decodable'
当然,当我从结构中删除类型时,投诉就消失了。由于类型在技术上是 Int16 为什么这会使其不可解码?
当我也将 Codable 应用于 RecordType 时,这种情况就消失了。找到答案here
extension RecordType: DatabaseValueConvertible, Codable {}
我想记录4种不同的类型。我有以下代码
import GRDB
enum RecordType: Int16 {
case video, image, text, rep
}
extension RecordType: DatabaseValueConvertible {}
struct Record: Codable, FetchableRecord, PersistableRecord {
var id: Int64?
var type: RecordType
}
现在它抱怨Type 'Record' does not conform to protocol 'Decodable'
当然,当我从结构中删除类型时,投诉就消失了。由于类型在技术上是 Int16 为什么这会使其不可解码?
当我也将 Codable 应用于 RecordType 时,这种情况就消失了。找到答案here
extension RecordType: DatabaseValueConvertible, Codable {}