使用[NSValue valueWithCATransform3D:]创建Transformable属性时,需要帮助调试_encodeObject中的异常

时间:2012-10-03 01:56:11

标签: cocoa core-data nsmanagedobject catransform3d transformable

我正在尝试将CATransform3D保存在Core Data存储中。在我的自定义NSObject子类中,我使用:

self.transform = [NSValue valueWithCATransform3D: inputTransform ];

将输入CATransform3D转换为NSValue。 NSLog显示了预期的转换:

2012-10-02 18:12:27.019 Model Importer[27908:303] Transform: <00000000 0000f03f 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f03f 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f03f 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f03f>

从我读过NSValue的所有内容中,通过实现NSCoding(通过NSSecureCoding),在模型中指定为Transformable时应该是可存储的。但是,当写到商店时,我得到了例外:

[NSKeyedArchiver encodeValueOfObjCType:at:]:此归档程序无法对结构进行编码

我有其他CIColor类型的Transformable属性似乎工作正常。

我确信还有很多其他方法可以存储CATransform3D属性,但我想了解这里没有用的东西,以避免遇到类似的情况。

对于它的价值,此时商店被设置为默认的二进制文件,但这对我来说并不像它取决于商店类型。

我错过了什么,这是一个已知的错误,还是其他什么?

0 个答案:

没有答案