我正在权衡我向SCNNode
个实例添加自定义数据的选项。
我一直在考虑的一种方法是使用相关对象。
另一种是使用SCNNode
子类。
关于相关对象,我想知道用NSKeyedArchiver.archiveRootObject(_:toFile:)
存档场景并保留数据的可能性。
关于SCNNode
子类,这意味着我的场景图将由该子类实例组成,而不是SCNNode
个实例。我想知道这是否会造成麻烦。
我已在错误报告中向Apple发出请求,要求userData
属性SCNNode
与SKNode
中的SpriteKit
相似,但与此同时,我需要找到一种方法来获得我们得到的东西。
答案 0 :(得分:4)
就像CALayer
一样,SCNNode
是key-value coding compliant container class,允许您将KVC用于任意键。 SCNNode
符合NSSecureCoding
协议,并会自动归档这些附加密钥。
答案 1 :(得分:0)
子类化的缺点是您将无法在场景图中使用Xcode场景编辑器。这对你来说可能无关紧要。
如果您没有将其用于其他任何内容,name
属性可能会对您有所帮助。您可以在那里存储唯一键,并使用它来索引自定义数据。