4

我正在尝试将 CATransform3D 保存在核心数据存储中。在我的自定义 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 属性,但我想了解这里不起作用的地方,以避免遇到类似情况。

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

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

4

0 回答 0