将数据添加到SCNNode并进行归档

时间:2016-08-19 13:54:22

标签: objective-c swift scenekit

我正在权衡我向SCNNode个实例添加自定义数据的选项。

我一直在考虑的一种方法是使用相关对象。

另一种是使用SCNNode子类。

关于相关对象,我想知道用NSKeyedArchiver.archiveRootObject(_:toFile:)存档场景并保留数据的可能性。

关于SCNNode子类,这意味着我的场景图将由该子类实例组成,而不是SCNNode个实例。我想知道这是否会造成麻烦。

我已在错误报告中向Apple发出请求,要求userData属性SCNNodeSKNode中的SpriteKit相似,但与此同时,我需要找到一种方法来获得我们得到的东西。

2 个答案:

答案 0 :(得分:4)

就像CALayer一样,SCNNodekey-value coding compliant container class,允许您将KVC用于任意键。 SCNNode符合NSSecureCoding协议,并会自动归档这些附加密钥。

答案 1 :(得分:0)

子类化的缺点是您将无法在场景图中使用Xcode场景编辑器。这对你来说可能无关紧要。

如果您没有将其用于其他任何内容,name属性可能会对您有所帮助。您可以在那里存储唯一键,并使用它来索引自定义数据。