Свойство нельзя пометить @NSManaged, поскольку его тип не может быть представлен в Objective-C - PullRequest
0 голосов
/ 22 декабря 2018

Я пытаюсь сохранить пользовательский класс в основных данных, но он дает мне эту ошибку на @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?

}

1 Ответ

0 голосов
/ 22 декабря 2018
 @NSManaged public var deck: [card]?

card этой строки кода является пользовательским классом, вы не можете использовать его в качестве типа данных в NSManagedObject.

Решение состоит в том, чтобы сделать Card подклассом NSObject:

class Card: NSObject {
...