我坚持为什么没有调用我的可转换类。以下屏幕截图将我的实体属性显示为可转换的:
根据文档,它应该自动调用类“StringEncryptionTransformer”并执行转换。
我按了this guide来设置课程。我正在使用提供的EncryptionTransformer和StringEncryptionTransformer类,我所做的唯一更改是加密以使用RNcryptor。
加密:
return [RNEncryptor encryptData:data withSettings:kRNCryptorAES256Settings password:[self key] error:&error];
和解密:
return [RNDecryptor decryptData:data withPassword:[self key] error:&error];
保存的实体似乎永远不会经历转换,是否有我遗漏的东西?我尝试将初始化添加到NSManagedObject,但结果是一样的。
答案 0 :(得分:0)
您需要像下面那样注册值转换器
extension NSValueTransformerName {
static let classNameTransformerName = NSValueTransformerName(rawValue: "ClassNameTransformer")
}
ValueTransformer.setValueTransformer(ClassNameTransformer(), forName: .classNameTransformerName)