我正在尝试对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")
确定不是吗?
安全编码的正确方法是什么?