использование преобразуемых свойств с именами преобразователей, которые либо не установлены, либо имеют значение NSKeyedUnarchiveFromDataTransformerName - PullRequest
0 голосов
/ 09 апреля 2020

Я получаю сообщение об ошибке:

Одна или несколько моделей в этом приложении используют преобразуемые свойства с именами преобразователей, которые либо не заданы, либо для NSKeyedUnarchiveFromDataTransformerName.

Я даже еще не сохранил никаких данных в Core Data.

Свойство, имеющее тип Transformable, «tificationIdentifiers », имеет тип NSObject в моем подклассе NSManagedObject. Почему ошибка говорит о том, что она не установлена ​​или имеет значение NSKeyedUnarchiveFromDataTransformerName?

Я также получаю предупреждение:

CoreData: warning: свойство'tificationIdentifiers 'в объекте' Подтверждение 'использует nil или небезопасный NSValueTransformer. Пожалуйста, переключитесь на использование «NSSecureUnarchiveFromData» или подкласса NSSecureUnarchiveFromDataTransformer.

Вот мой подкласс NSManagedObject:

extension Affirmation {

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

    @NSManaged public var body: String
    @NSManaged public var count: Int64
    @NSManaged public var days: NSData
    @NSManaged public var frequency: Int64
    @NSManaged public var notificationIdentifiers: NSObject
    @NSManaged public var recordName: String?
    @NSManaged public var time: NSDate
    @NSManaged public var timestamp: NSDate
    @NSManaged public var title: String

}

Когда я изменяю это свойство на тип NSSecureDive Подкласс NSManagedObject, я получаю сообщение об ошибке:

Использование необъявленного типа 'NSSecureUnarchiveFromData'

Я выполнил поиск в Google и не получил результатов, сообщающих, какая библиотека Использование необъявленного типа 'NSSecureUnarchiveFromData' принадлежит. Я выполнил поиск на developer.apple.com, и он ничего не нашел.

Не думаю, что я точно понимаю, о чем говорится в этом сообщении.

Вот мой все окно отладки:

2020-04-09 14:43:34.107774-0500 Affirmations[3922:921109] [error] fault: One or more models in this application are using transformable properties with transformer names that are either unset, or set to NSKeyedUnarchiveFromDataTransformerName. Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead. At some point, Core Data will default to using "NSSecureUnarchiveFromData" when nil is specified, and transformable properties containing classes that do not support NSSecureCoding will become unreadable.
CoreData: fault: One or more models in this application are using transformable properties with transformer names that are either unset, or set to NSKeyedUnarchiveFromDataTransformerName. Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead. At some point, Core Data will default to using "NSSecureUnarchiveFromData" when nil is specified, and transformable properties containing classes that do not support NSSecureCoding will become unreadable.
2020-04-09 14:43:34.108286-0500 Affirmations[3922:921109] [error] CoreData: One or more models in this application are using transformable properties with transformer names that are either unset, or set to NSKeyedUnarchiveFromDataTransformerName. Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead. At some point, Core Data will default to using "NSSecureUnarchiveFromData" when nil is specified, and transformable properties containing classes that do not support NSSecureCoding will become unreadable.
CoreData: warning: Property 'notificationIdentifiers' on Entity 'Affirmation' is using nil or an insecure NSValueTransformer.  Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead.

Другие подобные посты мне не помогли. Я не могу следовать приведенным решениям, и в любом случае никаких окончательных решений не дано.

...