我正在尝试对SceneKit SCNMatrix4
进行安全编码,使其符合NSSecureCoding
类似于以下内容的内容:
if let transform = aDecoder.decodeObject(of: SCNMatrix4.self, forKey: DATA_KEY_TRANSFORM) {
self.transform = transform
}
但这会引发编译错误:
无法将“SCNMatrix4.Type”类型的值转换为预期的参数类型“[AnyClass]?” (又名“可选>”)
显然SCNMatrix4
不是一个对象,这就是为什么这不起作用的原因,但我肯定不需要遍历 16Float
中的每一个SCNMatrix4
并使用以下代码对每个进行编码:
aDecoder.decodeFloat(forKey: "someKey")
确定不是吗?
安全编码的正确方法是什么?