Swift 使用未设置或设置为NSKeyedUnachiveFromDataTransformerName的转换器名称的可转换属性

Swift 使用未设置或设置为NSKeyedUnachiveFromDataTransformerName的转换器名称的可转换属性,swift,core-data,nsmanagedobject,Swift,Core Data,Nsmanagedobject,我得到一个错误: 此应用程序中的一个或多个模型正在使用具有未设置或设置为NSKeyedUnachiveFromDataTransformerName的转换器名称的可转换属性 我甚至还没有将任何数据保存到核心数据 具有可转换类型“notificationIdentifiers”的属性在我的NSManagedObject子类中属于NSObject类型。为什么错误是说它未设置或设置为NSKeyedUnachiveFromDataTransformerName 我还得到警告: CoreData:警告:实

我得到一个错误:

此应用程序中的一个或多个模型正在使用具有未设置或设置为NSKeyedUnachiveFromDataTransformerName的转换器名称的可转换属性

我甚至还没有将任何数据保存到核心数据

具有可转换类型“notificationIdentifiers”的属性在我的NSManagedObject子类中属于NSObject类型。为什么错误是说它未设置或设置为NSKeyedUnachiveFromDataTransformerName

我还得到警告:

CoreData:警告:实体“确认”上的属性“notificationIdentifiers”正在使用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

}

其他类似的帖子对我没有帮助。我无法遵循给出的解决方案,也没有给出结论性的解决方案。

我通过选择属性并将数据模型检查器中的Transformer属性设置为“NSSecureUnarchiveFromDataTransformer”解决了此问题.

您是否尝试了
NSSecureUnarchiveFromDataTransformerName
或类名
NSSecureUnarchiveFromDataTransformer
?@Willeke尚未尝试。我试试看。
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.