Значения CloudKit и CoreData по умолчанию

Я настраиваю основные данные с помощью NSPersistentCloudKitContainer, чтобы мои данные автоматически интегрировались с CloudKit. Проблема, с которой я сталкиваюсь, заключается в том, что я больше не могу иметь необязательные атрибуты в своих сущностях. Все мои необязательные атрибуты генерируют ошибку компилятора

[entity].[attribute] must have a default value

Это ошибка? Есть ли хорошая работа для этой проблемы?

Я тоже не знаю, баг это или фича. Но я предполагаю, что сейчас это просто одно из ограничений, связанных с автоматической синхронизацией CoreData (помимо тех, которые Apple упоминает здесь: developer.apple.com/documentation/coredata/…). Возможно, для инициализации схемы CloudKit требуются значения по умолчанию. Хороший обходной путь — предоставить значения по умолчанию. ;)

Victor Pro 21.06.2019 16:51

Вы поняли это?

Clifton Labrum 26.06.2019 05:31
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
2
1 171
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Кажется, это исправлено в Xcode 11 beta 3.

У меня такая же проблема с xCode 11.0 beta 6. Можно ли это исправить?

nomnom 28.08.2019 10:32

«Решение» состоит в том, чтобы сделать все ссылки необязательными. В XCode 11 GM это все то же самое, не думайте, что это «исправлено» в любой бета-версии xcode.

Я думаю, причина в том, что он синхронизируется с CloudKit, они хотят иметь полный контроль над синхронизацией по типам объектов, поэтому может быть короткий период времени, когда связь не работает.

Другие вопросы по теме

Ошибка CoreData: неправильное использование API: попытка сериализовать доступ к хранилищу на координаторе, не являющемся владельцем
UINavigationView всплывает в корневом контроллере проблемы с представлением
PersistContainer.newBackgroundContext() не использует обновленные объекты в context.existingObject(with:)
Операции Core Data в нескольких потоках вызывают вставку, но не выборку
Где мне хранить исходные данные для моего приложения Xcode Swift?
Swift / CoreData — создание «фиктивных» NSManagedObjecID для моделей данных (для тестирования без необходимости использования управляемых объектов)
Как сохранить существующие данные одноэлементного табличного представления в основных данных?
Как перемещать ячейки в соответствии с сортировкой при нажатии на ячейку?
Индивидуальное хранение дневных значений в основных данных
Как исправить «NSInvalidArgumentException», причина: «-[__NSCFNumber caseInsensitiveCompare:]: в экземпляр отправлен нераспознанный селектор»?