JohnEstropia / CoreStore

Unleashing the real power of Core Data with the elegance and safety of Swift
MIT License
4.01k stars 255 forks source link

Using existing CoreData objects with convenience initializers #511

Open bertayyonel95 opened 3 weeks ago

bertayyonel95 commented 3 weeks ago

In the app that I'm working on I have been previously using CoreData, and now I am migrating all my CoreData logic to CoreStore. I have some convenience initializers for my CoreData objects as such;

convenience init(fromJson json: JSON) {
        self.init()
        self.addData(fromJson: json)
    }

I was wondering if it is possible to use these initializers with create(_ into) ? Since creating the object with those initializers and then using fetchExisting on the transaction doesn't seem to work.

JohnEstropia commented 3 weeks ago

Unlike Core Data, CoreStore doesn't allow orphaned objects that do not belong to any store. Instead I would suggest to use the Importing API using ImportableObject or ImportableUniqueObject protocols and use the transaction.import***(...) methods instead.