Ios 在Swift的核心数据中保存自定义类

Ios 在Swift的核心数据中保存自定义类,ios,core-data,swift,Ios,Core Data,Swift,我一直在寻找一种方法,但我找不到一种我能理解的方法:( 我创建了一个自定义类: public class Player { private var name : String = "Test" private var level : Int = 1 private var skill : Skill = Skill("Basic") //Skill is another class } 我正在视图控制器中从此类创建对象: var player = Player() 现在我不想保存这个播放器,

我一直在寻找一种方法,但我找不到一种我能理解的方法:(

我创建了一个自定义类:

public class Player {
private var name : String = "Test"
private var level : Int = 1
private var skill : Skill = Skill("Basic") //Skill is another class
}
我正在视图控制器中从此类创建对象:

var player = Player()
现在我不想保存这个播放器,所以我创建了一个名为Saves的实体和一个名为playerSaved的属性,并具有可转换类型

当我将播放器保存到playerSaved时,会出现“无法识别的选择器发送到实例”崩溃


感谢您的帮助:)希望完成此操作并完成我的应用程序

您需要将自定义类转换为
NSManagedObject

import CoreData

@objc(Player)
class Player: NSManagedObject {
    @NSManaged var name: String
    @NSManaged var level: NSNumber
    @NSManaged var skill: Skill
}

这是在核心数据中保存“自定义”类的标准方法。

您需要将自定义类转换为
NSManagedObject

import CoreData

@objc(Player)
class Player: NSManagedObject {
    @NSManaged var name: String
    @NSManaged var level: NSNumber
    @NSManaged var skill: Skill
}

这是在核心数据中保存“自定义”类的标准方法。

Skill将无法保存。因为它不是基本的Obj-C类型。如何解决这个问题?
NSManagedObject
是从
NSObject
衍生而来的,因此它是“基本的Objective-C类型”。技能将无法保存。因为它不是基本的Obj-C类型。如何解决这一问题?
NSManagedObject
源于
NSObject
,因此它是一种“基本的Objective-C类型”。