Я пытаюсь безопасно закодировать SceneKit SCNMatrix4
, чтобы он соответствовал NSSecureCoding
с чем-то похожим на следующее:
if let transform = aDecoder.decodeObject(of: SCNMatrix4.self, forKey: DATA_KEY_TRANSFORM) {
self.transform = transform
}
Но это выдает ошибку компиляции:
Невозможно преобразовать значение типа 'SCNMatrix4.Type' в ожидаемый аргумент
введите '[AnyClass]?' (он же необязательный>)
Очевидно, что SCNMatrix4
не является объектом и является причиной, почему это не работает, но, конечно, мне не нужно проходить через каждый из 16 Float
s в SCNMatrix4
и кодировать каждый с:
aDecoder.decodeFloat(forKey: "someKey")
Конечно, нет?
Как правильно кодировать это?