> Le 27 mai 2017 à 11:59, David Hart <da...@hartbit.com> a écrit : > > I didn’t know that was possible either! Really cool. Even better: > > if let databaseValueType = T.self as? DatabaseValueConvertible.Type { > let databaseValue: DatabaseValue = row.value(named: key.stringValue) > return databaseValueType.fromDatabaseValue(databaseValue) as! T > } else { … }
Yes, that's even more clear like that :-) And for Encodable support, it works just great (not a single line of boilerplate code): private enum Color: String, DatabaseValueConvertible, Encodable { case red, green, blue } private struct EncodableStruct : Persistable, Encodable { static let databaseTableName = "myTable" let name: String let color: Color? } try dbQueue.inDatabase { db in try EncodableStruct(name: "Arthur", color: .red).insert(db) } Gwendal
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution