Приложение Apple News использует две зоны в частной базе данных для информации пользователя: ReadingList и ReadingHistory. ReadList сохраняет идентификаторы новостей новостей, которые были отмечены закладкой; ReadingHistory хранит новостные идентификаторы статей, которые были прочитаны. Разделяя идентификаторы статей на две разные зоны, они позволяют эффективно синхронизировать их. Например, если статья читается только на устройстве (и не помечена закладкой), то другое устройство получает уведомление о том, что зона ReadingHistory изменилась, тогда ему нужно только синхронизировать эту зону, а не обе. Для получения дополнительной информации вы можете прочитать мою полную запись о поведении синхронизации приложения News here.
И создание собственной зоны поддерживается только в частной базе данных. Единственное дополнительное использование, похоже, состоит в том, что вы можете писать несколько записей как одну атомную транзакцию. Недостаток заключается в том, что вы не можете ссылаться на записи за пределами этой зоны. Итак ... Кто-нибудь знает, чтобы подумать о хорошем примере, когда использовать это? –
Я думаю, что вы можете писать несколько записей с помощью CKModifyRecordOperation без использования зон. –
Правда, но документация, похоже, предполагает, что они только атомарны, когда вы используете зону. –