Хранение значения ключа не подлежит сомнению, поскольку оно слишком ограничено для вашей цели, хранение документов рекомендуется только тогда, когда вам нужно обрабатывать и хранить документ в целом.Поскольку вы уже используете CoreData
для локального хранилища, имеет смысл использовать обычное CloudKit
с ним для облачного хранилища и совместного использования.
Синхронизация CoreData
и CloudKit
может быть сложной.Лично я использую комбинацию из RxCoreData
и RxCloudKit
библиотек, которые обеспечивают некоторое облегчение синхронизации и некоторый синтаксический сахар.
Заблаговременное слово об ограничениях уникальности: для CoreData
вы определяете их на основеНа ключ (ы) или хэш всех значений, для CloudKit
это возможно (и также требуется) для ключа CKRecord
, насколько мне известно.Поэтому лучше всего позаботиться об этом с самого начала.