The presenter says "you might be wondering why we don't do this with CKReference instead. And that's because CKReference has some limitations that we don't think work well for Core Data clients. Namely that it's limited to 750 total objects."
However, that isn't correct, the 750 limit is only for references that have a delete action:
https://developer.apple.com/documentation/cloudkit/ckrecord/reference
Important
There is a hard limit to the number of references with a CKRecord.ReferenceAction.deleteSelf action that any one record can have. This limit is 750 references, and any attempt to exceed it results in an error from the server.
This is why the Notes app has no issue with more than 750 note records with a reference to a folder record.
I really wish NSPersistentCloudKitContainer
had used CKReference
and also that _CKReferenceActionValidate
was made public. CKShare
has limitations too, yet it used that and there was no custom sharing done like custom references were done.