¿Cómo usar swift 4 Codable en Core Data?
Codificable parece una característica muy emocionante. Pero me pregunto cómo podemos usarlo en Core Data. En particular, ¿es posible codificar / decodificar directamente un JSON desde / a un NSManagedObject?
Intenté un ejemplo muy simple:
y definidoFoo
yo mismo:
import CoreData
@objc(Foo)
public class Foo: NSManagedObject, Codable {}
Pero cuando lo usas así:
let json = """
{
"name": "foo",
"bars": [{
"name": "bar1",
}], [{
"name": "bar2"
}]
}
""".data(using: .utf8)!
let decoder = JSONDecoder()
let foo = try! decoder.decode(Foo.self, from: json)
print(foo)
El compilador falló con este error:
super.init isn't called on all paths before returning from initializer
y el archivo de destino era el archivo que definíaFoo
Supongo que probablemente lo hice mal, ya que ni siquiera pasé unNSManagedObjectContext
, pero no tengo idea de dónde pegarlo.
¿Soporta Core Data?Codable
?