У меня есть метод, который выбирает некоторые сущности из базовых данных на основе предиката (см. Ниже).Он проходит модульные тесты и работает большую часть времени в реальном коде.
let request = NSFetchRequest<T>()
request.predicate = NSPredicate(format: "myUUID.UUIDString == %@", someUUIDString)
request.entity = entityDescription
Затем я сделал интеграцию с CloudKit, используя CKFetchRecordZoneChangesOperation
.Теперь тот же метод, все еще выбирающий основные объекты данных, прекратил возвращать объекты.Я трижды проверил, что я передаю допустимую строку uuid, которая определенно существует в основных данных.Не возвращает результатов.
После долгих отладок я решил, что если я использую приведенный ниже код, он работает.Как это вообще возможно, учитывая, что поле является UUID, а не строкой?
let request = NSFetchRequest<T>()
request.predicate = NSPredicate(format: "myUUID == %@", someUUIDString)
request.entity = entityDescription
Кто-нибудь сталкивался с подобными проблемами?Заранее благодарю за любую помощь.