无法将属性标记为@NSManaged,因为其类型无法在Objective-C中表示

tHa*_*art 4 core-data objective-c swift

我试图将自定义类保存到核心数据中,但是它@NSManaged public var deck: [card]?在生成的NSManagedSubClass中给了我这个错误。有人能指出我正确的方向吗?

extension Deck {

    @nonobjc public class func fetchRequest() -> NSFetchRequest<Deck> {
        return NSFetchRequest<Deck>(entityName: "Deck")
    }

    @NSManaged public var deck: [card]?
    @NSManaged public var name: String?

}
Run Code Online (Sandbox Code Playgroud)

小智 6

 @NSManaged public var deck: [card]?
Run Code Online (Sandbox Code Playgroud)

card这行代码是一个自定义类,你不能用它作为你的NSManagedObject数据类型。

该解决方案使Card成为NSObject的子类:

class Card: NSObject {
Run Code Online (Sandbox Code Playgroud)