現在のプロジェクトで、カスタム データ型をコア データに保存したいのですが、それを行う方法がわかりません。
コア データ エンティティ:
extension WorkoutBuy {
@nonobjc public class func fetchRequest() -> NSFetchRequest<WorkoutBuy> {
return NSFetchRequest<WorkoutBuy>(entityName: "WorkoutBuy")
}
@NSManaged public var beschreibung: String?
@NSManaged public var dauerInterval: Int64
@NSManaged public var dauerPause: Int64
@NSManaged public var dauerPauseDurchgang: Int64
@NSManaged public var durchgaenge: Int64
@NSManaged public var id: UUID?
@NSManaged public var intensitaet: String?
@NSManaged public var name: String?
@NSManaged public var price: Double
@NSManaged public var catagory: Catagory? !!!//here is my own data type !!!
}
extension WorkoutBuy : Identifiable {
}
私自身のデータ型:
struct Catagory: Codable, Identifiable{
let id: Int
let localizedString: String
let engishName: String?
}
このようにすると、次のエラーが発生します。
プロパティの型が内部型を使用しているため、プロパティを public と宣言できません
と:
Objective-C で型を表すことができないため、プロパティを @NSManaged とマークすることはできません
誰にも解決策がありますか?前もって感謝します。
PS: AppDelegate を使用して persistentContainer を作成します
編集
Catagory が独自のコア データ エンティティである場合、アプリは起動していますが、オブジェクトを追加すると、コンソールで次のようなエラーが 10 回発生しました。
2020-12-04 21:58:31.586858+0100 IntervallTraining[4869:1923447] [エラー] エラー: SQLCore dispatchRequest: 例外処理要求: <NSSQLSaveChangesRequestContext: 0x2812c9380> 、値のエンコード中にスローされました。(null) CoreData の userInfo: エラー: SQLCore dispatchRequest: 例外処理要求: <NSSQLSaveChangesRequestContext: 0x2812c9380> が、値のエンコード中にスローされました。(null) Ein Core Data-Fehler ist aufgetreten の userInfo を使用します。