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

时间:2018-12-22 00:23:18

标签: objective-c swift core-data

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

extension Deck {

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

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

}

1 个答案:

答案 0 :(得分:1)

 @NSManaged public var deck: [card]?

此行代码的card是一个自定义类,您不能将其用作NSManagedObject中的数据类型。

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

class Card: NSObject {