Как объявить переходное свойство с помощью coredata (Xcode 11 + uikit + swift 5) - PullRequest
0 голосов
/ 04 марта 2020

Контекст: CoreData, Swift 5, Xcode 11, UIKit, iOS 13.2.

Моя модель данных содержит 4 класса (A, B, C, D). 3 из них (A, B, C) объявлены в файле .xcdatamodeld как сущность с соответствующими отношениями (A <-> B, A <-> C). Я использую gencode с опцией «Manual / None» для этих 3 объектов. И попросите Xcode генерировать и экспортировать классы и расширения. Это хорошо работает.

Но теперь класс A содержит свойство d типа d класса. И я не хочу сохранять или управлять классом D в базе данных (coreData). Я хочу d свойство как тип D, переходный.

Я пытаюсь объявить свойство d в A, типа Undefined, в файле .xcdatamodeld, и я устанавливаю опцию «Пользовательский класс» с именем моего класса D (которые существуют). и установите переходный процесс для этого свойства. В классе D я добавляю аннотацию @ obj c ("ClassName") ... потому что свойство d объявляется как @ NSManaged

У меня было сообщение об ошибке: "Свойство не может быть объявлено publi c, потому что его тип использует внутренний тип ". Поэтому я изменяю свойство на приватное и добавляю геттер и сеттер для этого приватного свойства.

Кажется, что это работает ...

Надеюсь, я ясен ;-) не уверен.

Что я сделал правильно?

Существует ли более простой и автоматический c способ объявления переходного свойства типа Custom Class (прямой способ с .xcdatamodeld Xcode editor)?

Спасибо за вашу помощь или мнение. Наилучшие пожелания.

...