но также управлять отношениями и постоянством с Core Data без необходимости вручную создавать все мои классы / свойства.

le кажется очень интересной функцией. Но мне интересно, как мы можем использовать его в Core Data? В частности, возможно ли напрямую кодировать / декодировать JSON из / в NSManagedObject?

Я попробовал очень простой пример:

и определилFoo себя:

import CoreData

@objc(Foo)
public class Foo: NSManagedObject, Codable {}

Но при использовании это так:

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)

Сбой компилятора с этой ошибкой:

super.init isn't called on all paths before returning from initializer

и целевой файл был файл, который определилFoo

Я думаю, что я, вероятно, сделал это неправильно, так как я даже не прошелNSManagedObjectContext, но я понятия не имею, куда его втыкать.

Поддерживает ли Core DataCodable?

Ответы на вопрос(4)

Ваш ответ на вопрос