Подтвердить что ты не робот

Подкласс Xcode NSManagedObject содержит опции, если они отмечены как необязательные

У меня есть основной объект данных с именем Film, который имеет свойства title и date. Я заметил, что сгенерированный подкласс NSManagedObject содержит необязательные свойства NSManaged, хотя я помечал свойства как необязательные в инспекторе данных ядра.

введите описание изображения здесь

введите описание изображения здесь

Можно ли изменить его вручную как необязательное свойство или лучше ли оставить его как необязательный? Почему?

4b9b3361

Ответ 1

"Необязательный" означает нечто иное, чем Core Data, чем для Swift.

  • Если атрибут Core Data не является необязательным, он должен иметь значение, отличное от нуля, при сохранении изменений. В других случаях Core Data не волнует, является ли атрибут нулевым.
  • Если свойство Swift не является необязательным, оно должно иметь значение не-nil в любое время после завершения инициализации.

Создание атрибута Core Data, не являющегося необязательным, не означает, что оно не является необязательным в смысле слова Swift. Именно поэтому сгенерированный код делает эти свойства необязательными - что касается основных данных, он имеет право иметь значения nil, кроме случаев сохранения изменений.

Ответ 2

Это известная проблема. Некоторые люди меняют его на необязательный, без побочных эффектов, я сохраняю его так, как он был создан, и надеюсь на раннее исправление.

Это всегда помогает, если вы сообщите об ошибке Apple, чтобы повысить видимость и приоритет.