2

在我的模型中,我有一个transformingString使用“Transformable”类型将 NSString 对象存储为 NSData 的属性。在我的代码中,我在 NSManagedObject 中有一个 NSString 作为动态属性,访问该属性会自动调用值转换器以从 NSData 转换为 NSString。

不过,在某些情况下,我想在我的代码中访问原始 NSData,而不调用 NSValueTransformer,因此我可以针对某些极端情况以不同的方式处理 NSData。我怎样才能做到这一点?我认为没有任何方法可以关闭我的 Core Data 模型的 Transformable 类型。我希望有某种方法可以直接访问传递给转换器的原始 NSData 。

我已经尝试过[self primitiveValueForKey: @"transformingString"],但这也调用了 NSValueTransformer 并返回 NSString 类型。有没有办法做到这一点?

4

1 回答 1

0

如果我恢复您想要访问未存储在持久存储中的 NSManagedObject 上的值。我建议你在你的 NSManagedObject 上添加一个类别。在这个类别中以只读方式声明一个属性(确保不用于其他事情)。在实现中返回原始 NSData。

于 2014-08-27T06:02:44.107 回答